1
QByteArray byteArray;
QDataStream dataStream(&byteArray, QIODevice::WriteOnly);
dataStream << (quint8)22;
dataStream << "test2";
qInfo() << byteArray;
結果:\x16\x00\x00\x00\x06test2\x00
奇怪的QByteArray與QDataStream行爲
爲什麼使用4個字節,而不是1呢?我明確地說,我希望它是unsigned char
。在幕後是否有一些內存對齊?我可以關閉它嗎?
編輯:它似乎只發生在我寫char*
它從頭開始增加3個字節。
的確,我怎麼能注意到它。可能是因爲qInfo()顯示一個格式化的字符串而不是字節。謝謝! – lll