C ++输出字符到文件给出错误的值

时间:2018-11-14 12:18:12

标签: c++ byte ofstream

我正在尝试逐字节地向文件中写入一些值,而当值达到10时,它会写入0D0A而不是仅写入文件0A,是什么主意吗?

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

output of the file

1 个答案:

答案 0 :(得分:2)

我猜您在Windows系统上,其中的换行符('\n'ASCII10)会自动转换为Windows换行符"\r\n"({ {3}}值1310)。

在Windows上以文本模式打开的所有文件都会进行此翻译。并在相反方向阅读时。以二进制模式打开不会执行此翻译。