QT 文件读写 0D 0A

今天发现QT以文本方式写入二进制0x0A会出现问题,写入的是一个字节,结果在UE上看,显示是2个字节。
错误的写入方式Windows换行符
明显每个0x0A前都多了个0x0D,导致我的bin文件全部都错位了

期望的效果应该是
正确的写入方式linux换行符

原来按照字节流的形式输出文本时,ofstream会自动将输出的\n变成\r\n,以适应WIndows系统,结果以输出数据的角度看来,这个正常的举动就变成了不可解的“0A变成0D 0A”。

file.open(QIODevice::ReadOnly|QIODevice::Text)
//可知上行代码的打开方式为Text,删掉后面的QIODevice::Text就行了

//修改后的代码,QFile和QIODevice是父子关系,这倆的参数在这里通用的
file.open(QFile::ReadOnly)

每天解决一个小问题
参考博客:

QT 文件操作 0A
QDataStream读写文件操作

posted @ 2021-03-02 20:32  tangstoney  阅读(519)  评论(0编辑  收藏  举报