我正在尝试逐字节地向文件中写入一些值,而当值达到10时,它会写入0D0A而不是仅写入文件0A,是什么主意吗?
unsigned char m = 10;
ofstream fout("1.file");
fout << m;
fout.close();
答案 0 :(得分:2)
我猜您在Windows系统上,其中的换行符('\n'
,ASCII值10
)会自动转换为Windows换行符"\r\n"
({ {3}}值13
和10
)。
在Windows上以文本模式打开的所有文件都会进行此翻译。并在相反方向阅读时。以二进制模式打开不会执行此翻译。