次のようにwindows.hヘッダーで定義されているタイプBYTEがあります。
typedef unsigned char BYTE;
次に、データベースにいくつかのフィールドがあり、QStringとして取得して、QByteArrayに変換します。
現在私は持っています:
QString str = "0x168de78"; //some info from the database
QByteArray tempB = QByteArray::fromHex(str.toAscii().toHex());
BYTE *sequence = (BYTE*)strdup(tempB.data());
この場合、「0x168de78」は、データベースから取得することを期待している情報のサンプルを表します。
後で使用できるように、QStringを文字通りBYTEに変換する必要があります。
シーケンスとtempB.data()の値を取得するようにアプリに指示すると、次のようなものが得られます。
0x867dc8 "0x168de78"
0x867de0 "0x168de78"
0x867df8 "0x168de78"
したがって、tempB.data()は問題ありませんが、シーケンスは問題ありません。私は何が間違っているのですか?