最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
Antonio9152 分钟前
【CMake】使用CMake在Visual Studio内构建多文件夹工程LyaJpunov16 分钟前
C++中move和forword的区别程序猿练习生20 分钟前
C++速通LeetCode中等第9题-合并区间z千鑫29 分钟前
【人工智能】如何利用AI轻松将java,c++等代码转换为Python语言?程序员必读一名路过的小码农30 分钟前
C/C++动态库函数导出 windowsDdddddd_1581 小时前
C++ | Leetcode C++题解之第416题分割等和子集mengzhi啊1 小时前
qt七个按钮进行互斥ljp_nan1 小时前
QT --- 初识QT编程版小新2 小时前
C++初阶:STL详解(四)——vector迭代器失效问题AlexMercer10123 小时前
【C++】二、数据类型 (同C)