最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
yong158585534344 分钟前
Linux C++ 中的 volatile变量在多线程环境下进行运算的问题小肝一下1 小时前
c++从入门到跑路——string类楼田莉子1 小时前
设计模式:构造器模式邪修king1 小时前
UE5 零基础入门第二弹:让你的几何体 “活” 起来 ——Actor 基础与蓝图交互入门玉树临风ives1 小时前
atcoder ABC 453 题解小则又沐风a1 小时前
STL库: string类mmz12071 小时前
深度优先搜索DFS2(c++)6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 169. 多数元素 | C++ 哈希表基础解法暴力求解1 小时前
C++ ---string类(三)say_fall2 小时前
有关算法的简单数学问题