最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
波音彬要多做22 分钟前
41 stack类与queue类捕鲸叉23 分钟前
C++软件设计模式之外观(Facade)模式矛取矛求39 分钟前
QT的前景与互联网岗位发展Leventure_轩先生39 分钟前
[WASAPI]从Qt MultipleMedia来看WASAPI只做开心事1 小时前
C++之红黑树模拟实现程序员老冯头2 小时前
第十五章 C++ 数组程序猿会指北3 小时前
【鸿蒙(HarmonyOS)性能优化指南】启动分析工具Launch Profiler无 证明8 小时前
new 分配空间;引用晓纪同学10 小时前
QT-简单视觉框架代码威桑10 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别