`
baodaqin
  • 浏览: 9953 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

回车与换行的区别

 
阅读更多

我一直没有搞得很清楚,回车和换行符有啥区别。
记得大一时,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.cnblogs.com/clarkchen/archive/2011/06/02/2068609.html

分享到:
评论

相关推荐

    回车与换行的区别详解

    回车与换行是计算机文本处理中的两个基本概念,它们起源于早期的电传打字机时代,以解决打印头定位和纸张移动的问题。在现代计算机系统中,这两个概念仍然有着重要的作用。 回车(Carriage Return),用字符`\r`...

    回车和换行的区别 回车和换行的区别

    ### 回车与换行的概念 1. **回车(Carriage Return, CR)**:最初来源于打字机时代,当一行文字输入完毕后,需要将打字机的纸张载体(称为“纸车”)返回到最右边的位置,以便下一行从同一位置开始打印,这个动作称为...

    回车和换行区别

    回车和换行区别 回车和换行是计算机编程中两个基础概念,但它们的区别和来历却鲜为人知。本文将深入探讨回车和换行的历史、概念、区别和应用,以帮助读者更好地理解和掌握这些基础知识。 历史 在计算机出现之前,...

    关于回车和换行

    在编程时,根据使用的文件操作模式(文本模式或二进制模式),对回车换行的处理也会有所不同。 - **文本模式**:在文本模式下,输入时系统会自动将CR LF转换为单个LF字符,而在输出时,则会将LF字符转换为CR LF组合...

    回车键换行.rar回车键换行.rar

    回车键换行在计算机文本处理中扮演着至关重要的角色,它是输入文本时用来开始新行的命令。在Windows系统中,回车键通常被称为“Enter”键,而在ASCII码表中,它被编码为13(十进制)或0D(十六进制)。在文本编辑器...

    vscode在大括号中回车不自动换行缩进的解决方法(一招解决)

    在使用Visual Studio Code (VSCode) 这款强大的代码编辑器进行编程时,有时会遇到一些小困扰,比如在大括号中按下回车键不自动换行并缩进的问题。这个问题对于程序员来说,确实会影响编码的流畅度和效率。本文将详细...

    RichEdit 回车换行的2种方法

    ### RichEdit 控件回车换行的两种方法 在Windows编程中,经常需要用到文本编辑功能。其中,`RichEdit`控件因其丰富的编辑能力和自定义选项而被广泛应用于各种应用程序中。本文将详细介绍如何使`RichEdit`控件在用户...

    回车,换行,tab,空格

    而Windows系统在表示新行时则采用了回车换行的组合(CR+LF),即每行结束时同时使用CR和LF字符。Mac系统早期使用回车符(CR)作为新行的表示方式,这反映了其早期产品在文本处理方面的设计选择。 由于不同操作系统...

    oracle中去掉回车换行空格的方法详解

    去除换行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、回车换行

    legendzhouqiang#technology-talk#回车与换行的区别1

    这就是”换行”和”回车”的来历,从它们的英语名字上也可以看出一二。Unix系统里,每行结尾只有”&lt;换行&gt;”,即”\n”;Windows系统里面,每行结尾是”&lt;回

    Js 回车换行处理的办法及replace方法应用

    当我们在文本框里输入文字敲下回车后,希望在提交后网页也显示是换行的效果,这时我们需要把... } 2、使用js的replace进行处理 代码如下: str=str.replaceAll(“\n”, “ ”) 这样就可以做到js回车换行的效果了!

    VC RichEdit 2.0响应回车换行

    ### VisualStudio2008 RichEdit 2.0 响应回车换行知识点解析 在探讨如何在VisualStudio2008环境下使用RichEdit 2.0控件实现回车换行功能之前,我们先来了解一下背景知识。 #### 1. 富文本编辑器(Rich Edit ...

    奇怪的回车换行问题

    回车换行(Carriage Return, Line Feed,简称CRLF)是计算机文本处理中用于表示新行的字符组合。在不同的操作系统中,回车换行的表示方式有所不同: 1. **Windows系统**:Windows使用`\r\n`(0x0D, 0x0A)作为一行...

    Honeywell扫描枪设置-回车_换行_后缀_扫描器.pdf

    Honeywell扫描枪设置-回车_换行_后缀_扫描器.pdf

    UNIX回车换行与Windows下的区别

    例如,当在Windows环境下打开一个纯UNIX格式的文本文件时,由于文件中只有换行符(LF),没有回车符(CR),因此Windows系统默认的记事本程序无法识别正确的换行位置,导致所有文本内容被显示在一行内,造成阅读困难...

    回车和换行有什么区别?我们平时按下的Enter键是回车还是换行

    在文本模式下,操作系统会自动处理回车换行的转换,例如,Windows系统会在读取`\n`时将其转换为`\r\n`,而在写入时将`\r\n`转换为`\n`。二进制模式则不会进行这种转换,保留原始数据的完整性和一致性。 例如,上述...

    深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解

    问题来了,在Windows下是先回车再换行呢还是先换行再回车呢?在Unix系统下换行只有\n,MAC OS下只有\r(网上是这么说的, 没用过Mac OS, 无从证实),都不会出现上述的问题。 现在新建一个文本文档,其内容如下: 现在...

    excel表格内回车换行

    ### Excel表格内回车换行方法详解 #### 引言 在使用Excel处理数据或编辑文档时,我们经常需要在同一单元格内实现换行操作,以便更好地组织和展示信息。然而,与Word等文本编辑软件不同,直接在Excel中按下回车键并...

    html编辑器的回车换行问题解决方案

    总之,HTML编辑器中的回车换行问题可以通过预先插入`&nbsp;`或监听`onkeypress`事件并在回车时插入` `标签来解决。虽然这些方法存在一些不足之处,但在大多数情况下,它们足以满足用户对简单换行的需求。在进行...

    vimz中设置回车换行缩进

    ### vimz中设置回车换行缩进 在文本编辑器的世界里,Vim(Vi Improved)是一款功能强大且高效的文字编辑工具,尤其受到程序员和系统管理员的喜爱。它支持多种编程语言,并允许用户通过配置来定制编辑环境。本文将...

Global site tag (gtag.js) - Google Analytics