QDataStream的尴尬

最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。

相关推荐
lixzest5 分钟前
C++ 中两个类之间的通信方式
开发语言·c++
每一天都要努力^2 小时前
C++函数指针
开发语言·c++
刚入门的大一新生2 小时前
C++进阶-多态2
开发语言·c++
会唱歌的小黄李3 小时前
【算法】贪心算法:最大数C++
c++·算法·贪心算法
NuyoahC3 小时前
笔试——Day8
c++·算法·笔试
NuyoahC4 小时前
笔试——Day9
数据结构·c++·笔试
mit6.8244 小时前
[Meetily后端框架] 多模型-Pydantic AI 代理-统一抽象 | SQLite管理
c++·人工智能·后端·python
雨落倾城夏未凉4 小时前
从零构建INI配置工具的分步指南
c++·后端·qt
小地瓜重新去华容道工作5 小时前
【QT】实现应用程序启动画面
java·数据库·qt
cpp_learners5 小时前
QML与C++相互调用函数并获得返回值
c++·qt·qml