qt - QDataStream序列化问题

标签 qt stream

首先是我的代码。

QByteArray buff;
QDataStream stream(&buff, QIODevice::ReadWrite);
stream.setVersion(QDataStream::Qt_4_7);
stream << 5;
stream << 6;
qDebug() << buff;
int x;
int y;
stream >> x >> y;
qDebug() << x << y;

我预计 x 为 5,y 为 6。但它显示 0 0 这是输出

"
0 0

最佳答案

正如 Frank 提到的,QDataStream 仍然位于结束位置(写入数据后)。如果您不想创建新流,还应该可以调用stream.reset() 将流的内部位置置于开头。或者类似stream.seek(0)

关于qt - QDataStream序列化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621426/

相关文章:

c++ - 将 C++ 代码( native 客户端)移植到浏览器(Web 应用程序)

c++ - 获取设置 failbit 的流位置/std::ios::failure 被抛出

java - 从 InputStream 或 Reader 读取长度为 n 的字符串

Java FileChannel.size() 与 File.length()

C# 如何将流复制到 streamwriter

qt - qMake:qmake到底如何解释 "CONFIG(debug, debug|release)"语法

python - PySide GUI 中的应用程序图标

c++ - 同步 QThreads 时出现问题

c++ - 如何使用 Qt5 编译 Qt FTP webkit 示例?

http - Web 服务器 - 如何解析请求?异步流标记器?