最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
磨十三7 小时前
C++ 标准库排序算法 std::sort 使用详解湫兮之风9 小时前
C++: Lambda表达式详解(从入门到深入)奔跑吧邓邓子9 小时前
【C++实战(54)】C++11新特性实战:解锁原子操作与异步编程的奥秘Mr_WangAndy9 小时前
C++设计模式_结构型模式_适配器模式Adapterbkspiderx9 小时前
C++设计模式之结构型模式:代理模式(Proxy)CAE虚拟与现实9 小时前
PyQt和PySide中使用Qt Designerbkspiderx11 小时前
C++设计模式之行为型模式:解释器模式(Interpreter)倔强菜鸟12 小时前
2025.8.10-学习C++(一)ZXF_H12 小时前
C/C++预定义宏与调试日志输出模板2401_8414956413 小时前
【数据结构】顺序表的基本操作