回车与换行的区别

转载 2015年11月18日 00:06:56
我一直没有搞得很清楚,回车和换行符有啥区别。
记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个笔记吧。

符号    ASCII码      意义
\n        10        换行NL
\r        13        回车CR

回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return
换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed
在不同的
操作系统这几个字符表现不同,比如在WIN系统下,这两个字符就是表现的本义,在UNIX类系统,换行\n就表现为光标下一行并回到行首,在MAC上,\r就表现为回到本行开头并往下一行,至于ENTER键的定义是与操作系统有关的。通常用的Enter是两个加起来。

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
 
/*======================================*/
\n:  UNIX 系统行末结束符
\n\r: window 系统行末结束符
\r:  MAC OS 系统行末结束符
/*======================================*/
一个直接后果是,Unix/Mac系统下的文件在
Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。(这也是经常说见到的现象,哈哈,原来是这样的)

c++语言编程时(windows系统)\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
如:
int main() {
cout << "hahaha" << "\r" << "xixi" ;
}
最后只显示 xixi 而 hahaha 被覆盖了
\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
int main() {
cout << "hahaha" << "\n" << "xixi" ;
}
则 显示
hahaha
xixi

终于搞懂了回车与换行的区别

转载于:http://www.pythontab.com/html/2017/linuxkaiyuan_0115/1116.html 关于换行和回车其实平时我们不太在意,所以关于两者的区别也不太...
  • fanwenbo
  • fanwenbo
  • 2017年02月03日 17:31
  • 6565

换行和回车的区别

我们在看他们的区别时我们先看看他们的分别指的是什么:  回车(carriage return):告诉打印机把打印头定位到左边界,就是指的,那个打印头重新放在这一行的开始。 换行(line feed...
  • xuaomo
  • xuaomo
  • 2017年01月02日 12:45
  • 1373

正则表达式:回车和换行的区别

关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒...
  • mayanyun2013
  • mayanyun2013
  • 2014年07月13日 21:27
  • 2504

回车符,换行符的区别

回车符号和换行符号产生背景:     关于“回车”(carriage return)CR 和“换行”(line feed)LF 这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(...
  • irisat163
  • irisat163
  • 2016年08月31日 14:45
  • 399

\n 是换行\r 是回车 那么它们与回车键什么关系

\n 是换行\r 是回车 那么它们与回车键什么关系 如果你学过汇编,应该就能明白了。它们的ASCII码一个是12,一个是14吧, 我也记不清了。不知对不对。 在汇编程序中,如果你...
  • u010326355
  • u010326355
  • 2013年06月16日 23:14
  • 1153

"\r"、"\n"、“回车键”,三者的关系与区别?

\n是换行,英文是New line,表示使光标到行首 \r是回车,英文是Carriage return,表示使光标下移一格 \r\n表示回车换行 我们在平时使用电脑时,已经习惯了回车和换...
  • BiuBiu741
  • BiuBiu741
  • 2017年02月10日 15:53
  • 161

C++中换行(‘\n’)和回车('\r')的区别

\n: New line \r: 'Carriage return '(returns cursor to the start of line), 意思就是将光标移动到...
  • a130737
  • a130737
  • 2014年06月27日 11:03
  • 845

回车与换行的区别

我一直没有搞得很清楚,回车和换行符有啥区别。 记得大一时,C语言老师就说过回车、换行,但都没说得那么细。前两天,看写两句Perl代码时,忽然想起区别一下回车和换行(\r和\n)。现在理解清楚了,记个...
  • cys1991cys1991
  • cys1991cys1991
  • 2013年09月25日 23:15
  • 293

回车和换行在不同操作系统的应用

'\r'是回车,前者使光标到行首,(carriage return) '\n'是换行,后者使光标下移一格,(line feed) \r 是回车,return \n 是换行,newline 对于换行这...
  • qq_30968657
  • qq_30968657
  • 2016年10月17日 09:54
  • 577

回车、换行的区别

 转载:http://hi.baidu.com/x_security/blog/item/c02afa3ff4a587cb7d1e71b8.html他们间的区别其实是个回车换行的问题先来段历史回车”(...
  • xmsheji
  • xmsheji
  • 2009年10月04日 22:50
  • 612
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:回车与换行的区别
举报原因:
原因补充:

(最多只允许输入30个字)