最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
shark_dev22 分钟前
C++新特性——正则表达式云知谷27 分钟前
【经典书籍】C++ Primer 第16章模板与泛型编程精华讲解屁股割了还要学34 分钟前
【Linux入门】常用工具:yum、vim仰泳的熊猫35 分钟前
LeetCode:51. N 皇后冯诺依曼的锦鲤1 小时前
算法练习:前缀和专题闭着眼睛学算法2 小时前
【双机位A卷】华为OD笔试之【哈希表】双机位A-跳房子I【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解开发者驿站2 小时前
2025年保姆级C++环境配置教程(Windows/macOS双平台)辰尘_星启2 小时前
『CMake』关于使用CMake构建项目时的现代/传统指令AA陈超3 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-13 属性菜单 - 边框值姝孟3 小时前
C++学习——类与对象详细知识点总结