c++ - 将数字写入文件 - 奇怪的结果

标签 c++ ofstream

运行以下代码:

ofstream newfile(path + "file" + ".hash", fstream::out);
filefl.open(path + "file" + ".hash", fstream::out);
char  a = 10;
filefl<<a;
filefl.close();

生成一个包含 0D 0A 的文件(使用十六进制编辑器查看)。
a=9 包含 09 的文件时。
sizeof(char) 为 1。
我的操作系统是 win7 x64,代码是通过 vs2010 pro 运行的。
有人可以解释一下吗?

最佳答案

看起来流对象自动将换行符(0xA 或 10)扩展为 Windows 友好的回车换行符对 (0xD 0xA)。

关于c++ - 将数字写入文件 - 奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16574735/

相关文章:

java - 在 C++ 中是否有 Java 'volatile' 的等价物?

c++ - 在 C++ 网络中,使用 select 是否首先必须 listen() 和 accept()?

c++ - boost async_read 不使用 ssl 读取所有数据

c++ - std::ofstream 无缘无故地重复和丢失写入的数据

c++ - 无法将循环的输出写入文件

C++ - 使用 ofstream 在不同的目录中创建文件?

c++ - 如何从模板访问模板类的静态?

c++ - 将 Boost.Spirit Qi 解析器间接聚合到规则中会产生错误

c++ - ofstream 变量不能出现在 OpenMP firstprivate 中?

c++ - 写入数据时 std::ofstream 中的错误处理