c ++输出char到文件给出错误的值

c++ output char to file give wrong value

我正在尝试将一些值逐字节写入文件,而当涉及到值 10 时,它会写入 0D0A 而不是仅将 0A 写入文件,知道吗?

unsigned char m = 10;
ofstream fout("1.file");
fout << m;
fout.close();

output of the file

我猜您使用的是 Windows 系统,其中换行符('\n'ASCII value 10) are automatically translated to the Windows newline "\r\n" (ASCII1310)。

此翻译适用于 Windows 上以文本模式打开的所有文件。和阅读时相反的方向。以二进制模式打开将不会执行此转换。