关于换行符

先来两个词组

CR:Carriage Return , 回车。   '\r'   值为0xD。  记忆方法:return

LF : Line Feed ,换行。            '\n'  值为0xA。  记忆方法:newline

在机械打字机的时代,当需要换行的时候,先要把打字机的针头回到行首(CR),然后再移到下一行(LF)。

 

在不同的平台,换行的表示方法是不同的。

windows帝国  用了比较浪费的2个字符 \r\n (CR-LF)。

特别要注意的是,windows平台的用fopen函数写文件文件的时候,fopen会自动把你输入的‘\r\n’只保留一个'\n'写到文件中。

用fopen读文件的时候,又会把文件中的'\n'读成‘\r\n’给上层。 (真TMD脑残)

linux,unix阵营,始终是'\n'。

mac帝国,用'\r'来显示自己的与众不同。

 

如果你的代码是跨平台的,那么在解析文件的时候一定要注意trim掉'\r'。作为一个不可打印字符,一但'\r'到了你的string里,可不好找。

posted @ 2013-07-09 11:28  林间走寸  阅读(328)  评论(0编辑  收藏  举报