QT | 文件读写过程中丢失的 OD OA 问题解决
今天发现 QT 以文本方式 (QIODevice::Text) 写入二进制 0x0A 会出现问题,写入的是一个字节(实际应该是两个字节),结果在 Zed 上看, 显示是2个字节。

明显每个0x0A前都多了个0x0D,导致我的bin文件全部都错位了
期望的效果应该是

原来按照字节流的形式输出文本时,ofstream 会自动将输出的 \n 变成 \r\n ,以适应 WIndows 系统,结果以输出数据的角度看来,这个正常的举动就变成了不可解的“ 0A 变成 0D 0A”。
file.open(QIODevice::ReadOnly|QIODevice::Text)
//可知上行代码的打开方式为Text,删掉后面的QIODevice::Text就行了
//修改后的代码,QFile和QIODevice是父子关系,这倆的参数在这里通用的
file.open(QFile::ReadOnly)
参考博客:

浙公网安备 33010602011771号