\r回车(carriage return, CR) ASCII-13 = 光标到达最左侧
\n换行(line feed, LF)          ASCII-10 = 移到下一行

这个没啥可说的!

如果只回车,打印的东西会覆盖同行以前的内容

如果只换行,打印的东西会在下一行的先一个位置继续,比如

==========
      #########

这个和打印机有关。

简单明了————http://jingyan.baidu.com/album/5bbb5a1b29900013eaa17951.html

Win \r\n

Unix \n

Mac \r

 

 

 

 

 

 

如果还理解不了,可以看看下面这些:

 

 

下面来自http://bbs.csdn.net/topics/350127738

8楼:

用二进制方式时是\r\n,用文本方式时是\n

//=====我的理解是,在win中你程序中写的\n在向文本中写的时候,会编程\r\n

10楼:

是\r\n跟操作系统没关系,跟编辑软件有关系。//这里的和系统没关系是错的,回车换行在不同系统是不一样的

当你在记事本或word编辑时,按下enter,该软件默认的方式是插入回车\r,再插入换行\n。

当然如果在word下,按shift+enter,word这个软件回只向编辑的地址空间下,插入一个换行\n。
(有的编辑软件,提供设置界面接口,当按下enter时,可选择插入的是 ( 回车\r 或 换行\n 或 回车\r+换行\n)
当然如果编辑软件做了的话,也可以插入  换行\n+回车\r 或 其他任意一个值(例如0x01,0x02,0x03..))

linux上的编辑软件,一般默认是按enter,只插入一个换行\n。

 

下面来自http://bbs.csdn.net/topics/270056587

文中的一个摘自

下面摘自摘自张孝祥:
-------------------------------------------------
当我们从键盘输入回车键时,Windows系统会把回车键
当做\r\n 来处理,Unix系统只会当做\n 来处理,不管
在什么系统中,都可以用\n来作为一行输入结束的标
记,只是在编程时我们需要注意,在Windows系统中我
们会读到\r 这个字符,我们必须把\r和正常输入的字
符区别开来,
-------------------------------------------------