精华内容
下载资源
问答
  • 回车和换行的区别 回车和换行的区别 回车和换行的区别
  • 回车和换行

    千次阅读 2018-04-18 14:57:58
    关于不同系统之间的回车和换行问题,可以参考以下网址,这是些历史留下的问题:网址1:https://blog.csdn.net/pk_20140716/article/details/49642039网址2:...最早的机械打字机时代,每打完一行之后,需要将“字车”...

    关于不同系统之间的回车和换行问题,可以参考以下网址,这是些历史留下的问题:

    网址1:https://blog.csdn.net/pk_20140716/article/details/49642039

    网址2:https://blog.csdn.net/fanwenbo/article/details/54848429

    介绍的很清楚

    我这里总结下:

    最早的机械打字机时代,每打完一行之后,需要将“字车”推动到左边起始位置和另起一行,这涉及两个动作,一是回车和换行

    再然后就是电传打字机,每秒钟可以打10个字符。但是它有一个问题,就是打完一行打字机自动换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。研究人员在每行后面加两个表示结束的字符。一个叫做“回车”(return),告诉打字机把打印头定位在左边界;另一个叫做“换行”(new line),告诉打字机把纸向下移一行。

    后到了计算机时,刚刚发明计算机的时候,存储器还很贵,一些人认为在每行结尾加两个字符太浪费了,这不是占空间么?加一个就可以了。于是,出现了分歧。

    Linux/Unix系统里,每行结尾只有“ <换行> ”,即“\n”;
    Windows/DOS系统里面,每行结尾是“ <换行> <回车> ”,即“\r\n”;

    Mac系统里,每行结尾是“ <回车> ”。"Mac 9及之前版本,是用EOL(End Of Line)字符作为换行符的,OSX及之后,才开始用\r表示换行 "

    系统类型回车换行所用字符
    Linux/Unix\n = Newline = 0x0A = 10 = LF =Line Feed = 换行 = Ctrl + J
    Mac\r = Return = 0x0D = 13 = CR = Carriage Return = 回车 = Ctrl + M
    Windows/Dos\r \n = 0x0D 0x0A = CR LF = 回车 换行

    一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Linux下打开的话,在每行的结尾可能会多出一个^M符号。在Mac下打开显示出“^J”

    回车(\r)就是回到当前行的开头却不向下移一行,相当于字车的归位
    换行(\n)就是光标下移一行却不会移到这一行的开头, 相当于卷筒的卷纸

    Enter键按下后会执行\r\n这样就是我们看到的一般意义的回车了,所以你用16进制文件查看方式看一个文本,就会在行尾发现”\r\n”

    严格地说,↵ 是“回车(return)”, Enter是“输入”(将缓冲区的命令输入到计算机中),现在的键盘上的“回车键”大多会同时标记这两个符号,表明它同时兼具二者的功能,所以大家也就不怎么区分了。


    展开全文
  • 如果用过机械打字机,就知道回车和换行的区别了。换行就是把滚筒卷一格,不改变水平位置。回车就是把水平位置复位,不卷动滚筒
  • 回车和换行区别

    2013-02-04 16:42:18
    回车和换行区别
  • ReplaceTrim 函数之asp实现过滤掉字符中所有的tab和回车和换行的代码
  • 计算机中的回车和换行

    千次阅读 2020-11-25 17:04:45
    在计算机中打印完一行字符后,会在每行后面添加表示结束的字符,也就是回车和换行回车:表示把打印头定位到左边界。 换行:表示打印头向下移一行。 但是,不同的操作系统中,表示结束的字符又不一样: ...

    在计算机中打印完一行字符后,会在每行后面添加表示结束的字符,也就是回车和换行。

    回车:表示把打印头定位到左边界。

    换行:表示打印头向下移一行。

    但是,不同的操作系统中,表示结束的字符又不一样:

    windows系统中,每行结尾是:<回车><换行>,即“\r\n”。

    unix/linux系统中,每行结尾是:<换行>,即“\n”。

    mac系统中,每行结尾是:<回车>,即“\r”。

    这样导致的后果是:

    unix/linux/mac系统下的文件在windows打开的话,所有的字符都变成一行。

    windows系统下的文件在unix/linux/mac打开的话,每行的结尾可能会多出一个^M符号。

    所以有时在windows上编写的shell脚本,在linux中无法执行,报找不到命令的错误,是因为每行后面多了“\r”字符。

     

    展开全文
  • 关于回车和换行

    2015-02-10 09:03:53
    今天,我总算搞清楚“回车”(carriage return)换行”(line feed)这两个概念的来历区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有...
    '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一行。通常用的Enter是两个加起来。

    回车和换行
    今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。
    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

    于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。

    这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

    后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

    Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    c语言编程时(windows系统,linux系统中也是如此,我刚刚测过)\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉
    如:
    int main() {
    cout << "hahaha" << "\r" << "xixi" ;
    }
    最后只显示 xixi 而 hahaha 被覆盖了
    \n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉
    int main() {
    cout << "hahaha" << "\n" << "xixi" ;
    }
    则 显示
    hahaha
    xixi
    展开全文
  • 我一直以为回车和换行是一个东西,因为可以通过敲击回车键来达到换行的效果,于是就奇怪怎么回车\n和换行\r怎么会用两种不同的符号,分别对应两个ASCII码。现在总算搞明白了,参考文章。回车和换行回车(carriage ...

    我一直以为回车和换行是一个东西,因为可以通过敲击回车键来达到换行的效果,于是就奇怪怎么回车\n和换行\r怎么会用两种不同的符号,分别对应两个ASCII码。现在总算搞明白了,参考文章

    回车和换行

    回车(carriage return)原意为返回光标到本行开头,换行(new line)即在当前行下面建立一个新行,光标下移。

    上一个例子说明回车和换行

    printf("this is return \rthis is newline\ncan you see?");
    -------------
    output:
    this is newline
    can you see?
    -------------

    从例子中可以看到\r将光标移到行首,\n建立新行

    Linux和Windows对敲击ENTER键的反应

    Ubuntu

    我在ubuntu16.04下新建了一个名字为linux.txt的空文件,查看文件大小:0byte
    然后我用gedit在ii.txt里面写入了一个字符i ,保存,然后返回查看大小:2byte
    问题来了:这是为什么,一个字母不应该占据2个byte啊?

    #include <stdio.h>
    
    int main(void)
    {
        FILE * fp;
        fp = fopen("/media/eureka/Azure/linux.txt", "r");
        while(1)
        {
            char c;
            c = getc(fp);
            if (c == -1)
            {
                break;
            }
            printf("%d\n", c);
        }
        fclose(fp);
        printf("\n");
    
        return 0;
    }
    -------
    output:
    105
    10
    -------

    结论:linux会在你保存文本文件时在文本文件尾自动插入一个换行符\n 而下次再次对文件进行添加时是在这个文件尾换行符之前添加的。

    Windows

    再来看Windows,以下对文件的操作都是用记事本完成的。
    在我的win10下新建一个文本文档a.txt,输入一个字母,大小为1byte
    新建一个b.txt,打开文件,按一下ENTER键,保存退出,大小为2byte
    新建一个c.txt,打开文件,输入一个字母,按一下ENTER,保存,大小为3byte
    结论:在保存文件时,Windows不会在文本文件尾插入任何字符。但是windows下面按下回车键会插入两个字符,经验证为\r\n


    当我在ubuntu下对a.txt文件追加了一个ENTER键之后,文件的大小变为3byte,这是正常的(敲击ENTER插入一个\n 然后linux自动在文件尾又插入一个\n)。但是当我对b追加一个ENTER键时,文件大小变成了6byte,查一下结果是此次操作添加了两次\r\n ,推测这应该是linux检测到这是windows下的文件,而将后来要用到\n 的地方都换成了\r\n ,比如保存文件时自动插入的不再是\n 而是改成\r\n

    经过后来的又一番折腾,发现对文件末尾进行插入这个操作是因编辑器而异的,教训:以后有些小事能放则放,程序员哪来那么多精力和时间。

    展开全文
  • 回车和换行的区别

    千次阅读 2017-07-20 10:30:59
    很多学过计算机的人都会以为回车就是换行,这是因为键盘上的Enter键给大家的一个错觉。每一次按Enter键就会换行,但是大家都把Enter键叫做回车,所以导致的结果就是回车就是换行。 实际上回车不是换行  换行,...
  • 关于 回车 换行

    2013-07-19 11:52:02
    对于回车和换行的概念一直不清楚,特此记下来   回车就是将光标定位到左边界 换行就是将光标切换至下一行(用坐标来讲的话 横坐标不变,纵坐标+1)   Linux中每行结尾只有 ’换行‘ Windows中每行结尾 ’...
  • JAVA里的回车和换行

    千次阅读 2017-04-08 15:54:13
    回车和换行 今天,我总算搞清楚“回车”(carriage return)换行”(line feed)这两个概念的来历区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符...
  • 替换数据中所有回车和换行

    千次阅读 2015-12-02 15:00:08
    如果你想替换数据中所有回车和换行可以用 replace(column,chr(10)) replace(replace(column,chr(10)),chr(13))
  • 关于回车和换行的历史。 回车和换行关于“回车”(carriage return)换行”(line feed)这两个概念的来历区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打...
  • C语言:回车和换行的区别

    千次阅读 2015-02-22 21:27:47
    /r /n区别 /n 换行 将光标移动到下一行第一格 相当于平时用的回车  /r 回车 将光标移动到当前行第一格...今天,我总算搞清楚“回车”(carriage return)换行”(line feed)这两个概念的来历区别了。  在计
  • 回车和换行的区别-\n\r什么意思呢?

    千次阅读 2012-12-13 16:36:51
    回车和换行的区别
  • C++ 关于回车和换行

    万次阅读 2018-06-06 17:28:01
    回车(Carriage Return, CR)和换行(Line Feed, LF),在一起称之为CRLF,这两个是不同的操作,在C++中回车符是"\r",换行符是"\n".1. 关于“回车”(carriage return)换行”(line feed...
  • C语言里回车和换行的区别

    千次阅读 2013-03-19 15:29:06
    在C语言里回车和换行是两个概念,回车是指光标由行中任意位置移动到行首,换行指换到下一行的情况。 第二个以及以后的多个(个数不定)的参数:后面的参数是用来告诉计算机在前面的%d占位符上将输出值得变量名。 ...
  • 细查回车和换行

    千次阅读 2009-03-05 15:37:00
    细查回车和换行 记:在自己的实验中,需要把一个数据集(文本文件)转换成另一种格式(文本文件)。转换中,读取一行至结尾,没有理会最后的回车换行符,直接抛弃处理。在新格式的文本中,写一行后通过fprintf(fp,"A...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 152,625
精华内容 61,050
关键字:

回车和换行