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. 所以我很困惑。
