【发布时间】:2009-08-29 02:19:54
【问题描述】:
我在内存中的 char[] 缓冲区中有一个 jpeg 图像,我需要做的就是将它完全按原样写入磁盘。现在我正在做这个
ofstream ofs;
ofs.open(filename);
ofs.write(buffer, bufferLen);
ofs.close();
但图像显示不正确,它看起来乱码,到处都是随机的黑白条纹。在十六进制查看器中将图像与原始图像进行比较后,我发现 ofstream 在它认为我正在编写换行符时正在修改数据。在原始文件中出现 0x0A 的任何地方,ofstream 都会写入两个字节:0x0D0A。我必须假设 ofstream 打算仅从 LF 转换为 CRLF,有没有标准的方法让它不这样做?
【问题讨论】:
标签: c++ visual-studio file-io