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的内部指针在末尾,所以什么也读不到。