QVariant::DataPtr
是私人的,昨天我曾经QBitArray
做过一些工作。有一个函数正在data_ptr()
返回DataPtr&
,但我不知道何时以及如何使用此函数。我将返回的数据写入文件并在 ST2 中打开它,显示SOH
:
int main()
{
QBitArray bit(8);
bit[5] = true; //--> I tried bit[7] = true; result is `SOH` still
QFile file("out");
file.open(QIODevice::WriteOnly);
QDataStream outs(&file);
outs << bit.data_ptr();
file.close();
return 0;
}
我知道SOH
是 的意思Start Of Header
,它被定义为0x01
(1byte) 用于帧分隔。首先我写了bit[7]=true;
,所以我认为bit.data_ptr()
可能是原始数据(二进制中的 00000001),bit
其中封装了QBitArray
. 但是当我尝试bit[5]=true;
在 ST2 中打开文件时,它仍然显示SOH
. 所以我很困惑。