This question already has an answer here:
Why does ofstream insert a 0x0D byte before 0x0A?
(1个答案)
5年前关闭。
以下C++代码:
创建以下文件(上面的File.txt):
为什么会有额外的CR和LF?我的平台是Windows 7和VS 2013编译器。
上面的情况将导致我的另一个程序出现问题,该程序将逐行解析该文件,并且该程序假定每一行都将包含数据。我可以删除空行,但我想了解为什么保存
(1个答案)
5年前关闭。
以下C++代码:
ofstream out("File.txt");
const char *str = "0\r\n1\r\n2\r\n";
out << str;
创建以下文件(上面的File.txt):
为什么会有额外的CR和LF?我的平台是Windows 7和VS 2013编译器。
上面的情况将导致我的另一个程序出现问题,该程序将逐行解析该文件,并且该程序假定每一行都将包含数据。我可以删除空行,但我想了解为什么保存
str
时会有多余的CR和LF。 最佳答案
\n
输出特定于平台的换行符,在这种情况下,每个\n
都写为\r\n
。您无需手动添加自己的\r
,它就是重复项的来源。
关于c++ - 多余的运输回程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29090832/
10-10 06:16