我认为一个就够了。但是,当你可以简单地使用CRLF
(0x0D0A
)时,做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上吗?
答案 0 :(得分:15)
请记住,这些代码都来自旧的Teletype机器。这些都是有效的打字机:必须通过一条线(换行)推进纸张,还需要将打印头(在滑架上)返回到纸张的左侧(回车)。
答案 1 :(得分:1)
如果你处理自己的数据格式......你选择哪种方式并不重要。这完全取决于你想要用字符串做什么以及你从哪里得到它。
答案 2 :(得分:1)
UNIX和OSX等系统只使用换行,DOS使用了额外的回车符,以便与电传打字机兼容,Windows继承了该架构。
答案 3 :(得分:0)
您在Windows上使用它们,因为这是Windows上的自定义。就这么简单。但是你只能为发往Windows的文件写两个。