這裏首先介紹我的代碼。QDataStream序列化問題
QByteArray buff;
QDataStream stream(&buff, QIODevice::ReadWrite);
stream.setVersion(QDataStream::Qt_4_7);
stream << 5;
stream << 6;
qDebug() << buff;
int x;
int y;
stream >> x >> y;
qDebug() << x << y;
我期望X在5和y爲6.但其示出了0 0 這裏是輸出
"
0 0
幫我用不同的(但相關的)問題:原來,調用'明確的()'上的QByteArray是背上QDataStream不會重置流位置!所以,'stream <<(int)5; buff.clear(); stream <<(int)6;'將導致'buff.size()'報告'8',而不是'4'。重置流是必需的。 – Dave 2011-12-13 14:55:02