<分区>
我正在尝试将一些值逐字节写入文件,而当值达到 10 时,它会写入 0D0A 而不是仅将 0A 写入文件,知道吗?
unsigned char m = 10;
ofstream fout("1.file");
fout << m;
fout.close();
<分区>
我正在尝试将一些值逐字节写入文件,而当值达到 10 时,它会写入 0D0A 而不是仅将 0A 写入文件,知道吗?
unsigned char m = 10;
ofstream fout("1.file");
fout << m;
fout.close();
最佳答案
我猜您使用的是 Windows 系统,换行符 ('\n'
, ASCII value 10
) 会自动转换为 Windows 换行符“\r\n”
(ASCII 值 13
和 10
)。
此转换适用于在 Windows 上以文本模式打开的所有文件。和阅读时相反的方向。以二进制模式打开不会进行此转换。
关于c++输出char到文件给出错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53300079/