【发布时间】:2011-06-16 21:53:28
【问题描述】:
我以为一个就足够了。但是,当您可以简单地使用 CR (0D) 时,这样做有什么意义呢?通常,每当我使用字符串 (C++) 时,我都会这样做:
myString = "Test\nThis should be a new line!\nAnother linefeed.";
注意:对于阅读本文的非 C++ 程序员,"\n" 是换行符 (0x0A)。
但我真的应该这样做吗:
myString = "Test\r\nThis should be a new line!\r\nAnother carriage return/linefeed pair.";
注意:"\r" 表示回车 (0x0D)。
编辑:这应该在 Programmers.SE 上吗?
【问题讨论】:
-
在 C++ 中你不应该使用任何一种 - 使用 std::endl。
-
做CRLF的目的是为了Windows用户。
-
@PaulR:使用 endl 与使用 \n 加冲洗相同。 endl 没有便携性或其他优势。
-
std::endl 强制刷新流,使其变慢
-
@PaulR 抱歉,我的意思是我用
"\n"表示 C,但最近 C++ 是std::endl。
标签: history carriage-return linefeed