Qt QByteArray问题

时间:2010-10-10 13:58:55

标签: qt

我尝试了以下内容:

qDebug() << QByteArray("\x00\x10\x00\x00").size();

我得到0而不是我想到的4个女巫。

保存这4个字节的数据有什么好的数据类型,因为我需要稍后将它们写入套接字,这样它们必须保持与上面看到的完全一样?

1 个答案:

答案 0 :(得分:4)

构造函数QByteArray(const char* str)在参数上使用qstrlen。由于您的字符串以0x00字节开头,qstrlen返回0,因此生成的QByteArray为0字节长。

要避免qstrlen检查,请使用QByteArray(const char* str, int size)构造函数:

qDebug() << QByteArray("\x00\x10\x00\x00", 4).size();

将按预期打印4。