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

标签 c++ byte ofstream

<分区>

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

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

output of the file

最佳答案

我猜您使用的是 Windows 系统,换行符 ('\n', ASCII value 10) 会自动转换为 Windows 换行符“\r\n”(ASCII1310)。

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

关于c++输出char到文件给出错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53300079/

相关文章:

C fread/fwrite 在处理换行符时表现得很奇怪

c++ - 在 C++ 中使用 THIS 指针将对象写入文件

c++ - 为什么我的程序在我向数组输入一定数量的字母后就结束了?

c++ - Valgrind - 未初始化的值和字节?

javascript - 何时使用 Uint8Array、Uint16Array、Uint32Array

C++ ofstream 不会改变 mtime

c++ - 使用 "IF"C++ 逐行读取文本文件

c++ - 我在 C++ 中收到的每个错误都有 4 个相同的无用错误

c++ - 类标志的模板专门化

c++ - 多个应用程序入口点