QByteArray 到 int 总是给 0
QByteArray to int always give 0
我尝试发送数据抛出 qtcpsocket 并使用 QByteArray。我发送以前大小的数据并尝试像这样 转换为 int。
但总是得到0。代码转换示例:
QString ss = "bca";
int aaa;
QByteArray b;
QDataStream stream(&b, QIODevice::ReadWrite);
stream << ss.toUtf8().size();
stream >> aaa;
在此示例中,aaa 始终为 0,但 ss.toUtf8().size() 不是。我做错了什么?
QString ss = "bca";
int aaa;
QByteArray b;
QDataStream stream(&b, QIODevice::ReadWrite);
stream << ss.toUtf8().size();
stream.device().seek(0); // add this code
stream >> aaa;
QByteArray的内部指针在末尾,所以什么也读不到。
我尝试发送数据抛出 qtcpsocket 并使用 QByteArray。我发送以前大小的数据并尝试像这样
QString ss = "bca";
int aaa;
QByteArray b;
QDataStream stream(&b, QIODevice::ReadWrite);
stream << ss.toUtf8().size();
stream >> aaa;
在此示例中,aaa 始终为 0,但 ss.toUtf8().size() 不是。我做错了什么?
QString ss = "bca";
int aaa;
QByteArray b;
QDataStream stream(&b, QIODevice::ReadWrite);
stream << ss.toUtf8().size();
stream.device().seek(0); // add this code
stream >> aaa;
QByteArray的内部指针在末尾,所以什么也读不到。