转自<http://www.cnblogs.com/clarkchen/archive/2011/06/02/2068609.html>
我一直没有搞得很清楚,回车和换行符有啥区别。
记得大一时,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
相关推荐
回车和换行的区别 回车和换行的区别 回车和换行的区别
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。
回车和换行区别
回车键换行.rar回车键换行.rar回车键换行.rar回车键换行.rar回车键换行.rar回车键换行.rar回车键换行.rar回车键换行.rar
RichEdit响RichEdit响应回车换行RichEdit响应回车换行RichEdit响应回车换行应回车换行
关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
VSCODE开发时,如果遇到在在大括号中回车不自动换行缩进,可以用本方法来解决,本人亲自总结的经验,分享给大家。简单2步,轻松解决!!!
但是它有一个问题,就是打完一行换行的时候, 要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过 来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每 行后面加两个表示...
去除换行update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(10),”);去掉回车update zhzl_address t set t.add_administration_num=...—————————–1、回车换行
这就是”换行”和”回车”的来历,从它们的英语名字上也可以看出一二。Unix系统里,每行结尾只有”<换行>”,即”\n”;Windows系统里面,每行结尾是”<回
如果用过机械打字机,就知道回车和换行的区别了。换行就是把滚筒卷一格,不改变水平位置。回车就是把水平位置复位,不卷动滚筒
UNIX回车换行与Windows下的区别
问题来了,在Windows下是先回车再换行呢还是先换行再回车呢?在Unix系统下换行只有\n,MAC OS下只有\r(网上是这么说的, 没用过Mac OS, 无从证实),都不会出现上述的问题。 现在新建一个文本文档,其内容如下: 现在...
VisualStudio2008 RichEdit2.0 回车换行
利用JS限制 DIV中输入回车换行 可以更改回车的功能比如敲回车输入你好我好大家好之类的
一直对回车换行问题没有怎么注意,只知道,在windows中,回车换行是rn (0x0D,0x0A)。
excel表格内回车换行 的方法
当我们在文本框里输入文字敲下回车后,希望在提交后网页也显示是换行的效果,这时我们需要把... } 2、使用js的replace进行处理 代码如下: str=str.replaceAll(“\n”, “ ”) 这样就可以做到js回车换行的效果了!
当我们在阅读英文文献时,由于英文水平不高,需要借助于网上在线翻译,但在将文献复制到翻译工具时,往往会出现断行(每行文字都自动加上了回车换行),这就需要自己手动删除,而这个小程序可以很好地解决这个问题,...
vimz中设置回车换行缩进 在此文件首行加入set cindent和set smartindent;