1

为什么 QBitArray 的大小保持为零?我正在使用 Qt 5.0.2。

QByteArray bytes(4,'b'); // four bytes
QBitArray bits;
QDataStream stream(&bytes, QIODevice::ReadWrite);

stream >> bits;

qDebug() << bytes.size() << bits.size();
4

1 回答 1

2

从 a 读取时,QDataStream它期望数据采用某种格式,如http://qt-project.org/doc/qt-5.0/qtcore/datastreamformat.html所述。在流式传输的情况下,QBitArray这是:

The array size (quint32)
The array bits, i.e. (size + 7)/8 bytes

如果不是这种情况,操作将失败 - 您可以检查QDataStream::status()以检测错误。

于 2013-06-05T16:30:42.163 回答