码迷,mamicode.com
首页 > 其他好文 > 详细

回车换行

时间:2014-08-20 14:33:32      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:文件   ar   问题   line   new   ef   on   sp   

回车(英语:Carriage return),常缩写为CR,是指将定位设备重置到文本行首的控制字符或过程,用以把一设备的位置重设到一行字的头。

原本,回车这术语用于打字机的板手。若打字机的语言由左至右书写的语言.回车用于将承载装纸滚筒的机架(carriage)移到最右边,以便令印字位置对准一行的开头,同时顺便转动滚筒,换至下一行。第一个有动力的回车功能是是在1960年由Smith Corona加入电打字机中,此键一般会标示为carriage return或return。

换行,(英语:newline,Line break,end-of-line (EOL)),在计算机领域中是一种加在文字最后位置的特殊字符,在换行字符的下一个字符将会出现在下一行,实际上换行字符根据不同的硬件平台或操作系统平台会有不同的编码方式。

换行字符可以看作是行的结束符,也可以看作行之间的分隔符,这两种处理方式之间存在一些歧义。如果换行字符被当作分隔符,那么文件的最后一行就不需要再有换行字符。但是多数系统的做法是在最后一行的后面也加上一个换行字符,也就是把换行字符看作是行的结束符。这样的程序在处理末行没有换行字符的文件时,可能会存在问题。相反地,有的程序把换行符看作分隔符,就会把最末尾的换行字符看作是新行的开始,也就是多出了一个空行。

(以上内容来自维基百科,条目: 回车符,换行)

换行 (LF : line feed, NL:new line):
ASCII: 10,
C 语言中转义序列: \n

回车(CR :carriage return):
ASCII 码:13
C 语言中转义序列:\r
 
Windows 里一般行尾是 CRLF
Unix 文件的话,一般行尾是 LF
行尾的字符都可以通过编辑器进行修改。

C 语言中控制台输出例子:
1)
printf("abcdefghijk\r0123456\r+_*/\n");
输出:
+_*/456hijk
解释:
 ‘\r‘ 后面的输出从行头开始,把先前的输出覆盖了。
如果这里不是输出到控制台,而是把输出重定向到文件。
在 Windows 里用计事本打开,会看到 :abcdefghijk 0123456 +_*/
虽然这里看起来是 ‘\r‘ 没有起作用,但是实际上,在相应的位置(比如 ‘k‘ 后面 和 ‘6‘ 后面都是有一个 ‘\r‘ 字符的。只是人眼不可看而已。
可以在控制台 type 这个文件,就可以看到,结果和上面的控制台输出是一样的。
或者用一个文本编辑器(可以显示行尾这种特殊字符的)打开,,可以看到行尾是 CR。
2)
printf("abcdefghijk\n0123456\n+_*/\n");
输出:
abcdefghijk
0123456
+_*/
结果比较清楚,无需多解释。

回车换行,布布扣,bubuko.com

回车换行

标签:文件   ar   问题   line   new   ef   on   sp   

原文地址:http://my.oschina.net/xhan/blog/304675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!