如果不注意会导致文件中多几个字节,ad采集数据等情况有问题,真坑
QByteArray array;
uchar hh[256];
for(int i=0; i<256; i++)
{
hh[i] = i&0xff;
array.append(i&0xff);
}
file.setFileName("OOO.yuv");
file.open(QIODevice::WriteOnly);
//文件写入不会存在问题,写入256,就是256,写什么就是什么
file.write((char*)hh, 256);
file.flush();
file.close();
file.setFileName("ppp.yuv");
file.open(QIODevice::WriteOnly);
//文件写入存在问题,在写入0A二进制数时,会写成0x0d 0x0a
//多写1个字节,真的很坑,这怎么能叫writerawdata
ds.writeRawData((char*)hh, 256);
file.flush();
file.close();
file.setFileName("uuu.yuv");
file.open(QIODevice::WriteOnly);
//文件写入存在问题,在写入0A二进制数时,会写成0x0d 0x0a
//多写1个字节
file.write(array);
file.flush();
file.close();
QT文件写入坑点
本文探讨了使用QT进行文件写入时遇到的问题,特别是当尝试写入特定二进制数据时,出现额外字节的情况。通过对比不同写入方法,如write和writeRawData,揭示了它们在处理特殊字符时的行为差异。
3万+

被折叠的 条评论
为什么被折叠?



