\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和正常输入的字
符区别开来,
-------------------------------------------------