最近在编写一个网络功能,需要将一个文件内容传递到客户端并将改内容以文件形式保存下来。由于文件内容是个加密文件且采用了二进制形式于是客户端就采用了QDataStream这个对象来保存文件。粗略的测试下来没有什么问题,可是在获取写入的文件是否发现写入的文件读取出来内容不正确。经过一番折腾最终发现是QDataStream这个对象引起的问题。原来是我在打开文件的时候加上了QIODevice::Text 这个标识引起的,发现加了这个标识后写入文件都会把原来的\0转换成两个字符写入,因此写入的文件内容就无端多一个字符处理,这样在反向解码就会出现问题。这问题一定要牢记下次不用再折腾了。
相关推荐
hggngx548h12 小时前
有哪些C++20特性可以在Dev-C++中使用?计科土狗13 小时前
算法基础入门第一章大笨象、小笨熊13 小时前
Qt Widgets和Qt Quick在开发工控触摸程序的选择9ilk13 小时前
【仿RabbitMQ的发布订阅式消息队列】 ---- 功能测试联调北冥湖畔的燕雀13 小时前
std之listElias不吃糖14 小时前
eventfd 初认识Reactor/多线程服务器的关键唤醒机制南方的狮子先生14 小时前
【C++】C++文件读写玖剹14 小时前
二叉树递归题目(一)mjhcsp14 小时前
C++ 数组:基础与进阶全解析量子炒饭大师14 小时前
【一天一个计算机知识】—— 【编程百度】翻译环境与运行环境