最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
祁同伟.几秒前
【C++】模版(初阶)sTone8737532 分钟前
android studio之外使用NDK编译生成android指定架构的动态库卷卷卷土重来2 小时前
C++单例模式yuyanjingtao2 小时前
CCF-GESP 等级考试 2025年6月认证C++二级真题解析王廷胡_白嫖帝3 小时前
Qt个人通讯录项目开发教程 - 从零开始构建联系人管理系统戏言zare3 小时前
Qt设置软件使用期限【新版防修改系统时间】long_run3 小时前
C++之auto 关键字疯狂的代M夫4 小时前
C++对象的内存布局大橘4 小时前
【qml-5】qml与c++交互(类型单例)重启的码农5 小时前
llama.cpp 分布式推理介绍(4) RPC 服务器 (rpc_server)