我尝试过以下几种方法:
qDebug() << QByteArray("\x00\x10\x00\x00").size();我得到了0,而不是我期望的4。
什么是一个好的数据类型来保存这4个字节的数据,因为我需要稍后将它们写到套接字中,所以它们必须保持与上面看到的完全相同?
发布于 2010-10-10 22:28:21
构造函数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。
https://stackoverflow.com/questions/3900578
复制相似问题