1
QByteArray byteArray;
QDataStream dataStream(&byteArray, QIODevice::WriteOnly);
dataStream << (quint8)22;
dataStream << "test2";
qInfo() << byteArray;
結果:\x16\x00\x00\x00\x06test2\x00
奇妙QByteArray
なぜそれが4バイトの代わりに1を使用していますか?私はそれがunsigned char
であることを明示的に言います。舞台裏でいくつかのメモリが整列していますか?私はそれをオフにすることはできますか?
EDIT:私がchar*
を書き込むときに起きるように見えますが、それはどこからも最初の3バイトを追加します。
実際、どのように私はそれに気づくことができませんでした。たぶん、qInfo()は単なるバイトではなくフォーマットされた文字列を表示するからです。ありがとう! – lll