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

    千次阅读 2015-05-30 17:33:18
    回车符号和换行符号产生背景:  关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以10个...

    回车符号和换行符号产生背景:     

    关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
         于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
    这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
          后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
         于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
    这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
          后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

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


    文本文件的行结束符,传统上
    PC机 用 CRLF
    苹果机用CR
    unix 用 LF
    CR -- 回车符,c语言'\r'
    LF -- 换行符, c语言'\n'
    不同计算机上c语言统一规定为:
    文本文件的行结束符一律变成一个符号LF,也就是换行符,也就是new line符, 也就是'\n'.
    “回车和换行符转换成一个换行符”-- 对PC机而言,文本文件行结束符,CRLF读入后,丢掉CR,留   LF.
    例如fgets() 读入一行,行尾只有LF,没有CR.

    在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定"\r\n"又要判定"\n"。写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。

    '\n' 10 换行(newline) '\r' 13 回车(return)


    展开全文
  • 回车符号与换行符号

    千次阅读 2013-07-24 14:40:09
    一、回车与换行的来历  关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。  在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以10个字符。...

    一、回车与换行的来历

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

    windows创建的文件是 \n\r结束的, 而linux,mac这种unix类系统是\n结束的。

    所以unix的文本到windows会出现换行丢失(ultraedit这种软件可以正确识别); 而反过来就会出现^M的符号了

    Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系统下输入的换行符在UNIX/Linux下不会显示为“换行”,而是显示为 ^M 这个符号(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。Linux下很多文本编辑器(命令行)会在显示这个标记之后,补上一个自己的换行符,以避免内容混乱(只是用于显示,补充的换行符不会写入文件,有专门的命令将Windows换行符替换为Linux换行符)。 UNIX/Linux系统下的换行符在Windows系统的文本编辑器中会被忽略,整个文本会乱成一团。

    所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的文件格式转换成win格式的。


    二、C语言中的处理 

     毕竟是源自Unix系统,C语言中使用\n表示换行,而在实际的文件中换行符号需要同操作系统一致,所以当我们在C中使用fopen打开一个文本文件时流实现了实际换行符与C中\n之间的转换。在windows中当我们用fopen打开文本文件,然后从中读到\r\n时流会转换为\n,而当我们往文件中写入\n时流会转换为\r\n。以二进制模式打开流不会做任何处理。
        当我们使用标准输入输出函数时有这种情况吗?  
        C的控制台程序在加载进内存成为进程运行前C运行时库自动打开三个设备并关联到三个流:标准输入流stdin,标准输出流stdout,标准出错流stderr。
        通常在通用计算机中,没有重定向前这三个流对应的设备是:键盘,显示器,显示器。这三个都是字符设备,所以是以文本文件的模式打开的,在windows下当我们在键盘上敲入回车键时产生字符\r\n,但是在OS内核把键盘驱动中读到的字符发送给流的缓冲区时流会将之转换为\n,当我们向控制台输出\n时流将之转换为\r\n再传递至内核,当我们绕过标准输入输出直接调用windows中coredll.lib进行控制台输入输出时就必须面对这一现实,程序员负责实现这一转换。

    不同计算机上c语言统一规定为:
          文本文件的行结束符一律变成一个符号LF,也就是换行符,也就是new line符, 也就是'\n'。“回车和换行符转换成一个换行符”-- 对PC机而言,文本文件行结束符,CRLF读入后,丢掉CR,留   LF。例如fgets() 读入一行,行尾只有LF,没有CR.

    三、编码建议

    以下是Quantum Leaps公司给出的编码规范中关于EOL的一段,摘录如下,

    All source code should consistently use only one end-of-line convention. For improved portability, 
    this Standard recommends consistent use of the Unix™ end-of-line convention, with only one LF 
    character (0x0A) terminating each line. The DOS/Windows end-of-line convention with CR, LF 
    character pair (0x0D, 0x0A) terminating each line is not recommended because it causes compilation 
    problems on Unix™-like systems, such as Linux™. (Specifically, the C preprocessor doesn’t correctly 
    parse the multi-line macros.) On the other hand, most DOS/Windows compilers seem to tolerate the 
    Unix™ EOL convention without problems.



    展开全文
  • 回车符号和换行符号产生背景:  关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以10...

    回车符号和换行符号产生背景:    

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



    具体区别

      先看个例子,网上找的:

      先生成一个换行(\n, 0x0A)和回车(\r, 0x0D)组合的文本

       $ echo -en '12\n34\r56\n\r78\r\n' > tmp

       以十六进制方式查看文本
      
    $ od -t x1 tmp
       0000000 31 32 0a 33 34 0d 35 36 0a 0d 37 38 0d 0a
       0000016

       在Linux的vim中的显示效果:


    在windows的记事本中的显示效果



    编程相关:



    文本文件的行结束符,传统上

    PC机 用 CRLF

    苹果机用CR

    unix 用 LF

    CR -- 回车符,c语言'\r'

    LF -- 换行符, c语言'\n'

    不同计算机上c语言统一规定为:

    文本文件的行结束符一律变成一个符号LF,也就是换行符,也就是new line符, 也就是'\n'.

    回车和换行符转换成一个换行符”-- 对PC机而言,文本文件行结束符,CRLF读入后,丢掉CR,留   LF.

    例如fgets() 读入一行,行尾只有LF,没有CR.


    在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定"\ r \n" 又要判定"\n"。写程序时可能得到一行,将其进行trim掉'\ r ', 这样能得到你所需要的string了。

    '\n' 10 换行(newline)
    '\ r ' 13 回车(return

    展开全文
  • 今天看鸟哥的私房菜,看到tr 命令时候,有个示例提到了换行和回车,之前一直没去想过回车和换行的区别,今天想了下有些许好奇,找到了以下文档,瞬间明白了。 关于“回车”(carriage return)和“换行”(line ...

    今天看鸟哥的私房菜,看到tr 命令时候,有个示例提到了换行和回车,之前一直没去想过回车和换行的区别,今天想了下有些许好奇,找到了以下文档,瞬间明白了。

    关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。
    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
         于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。
    这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。
          后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
    Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号【^M即是\r】。原理是,linux/unix中的换行符\n在windows下被解释成一个黑点,而不是换行;windows下的换行符\r\n(顺序不能反)在linux下,\n被解释为换行,但是\r被解释为^M(这是Linux等系统下规定的特殊标记,占一个字符大小,不是 ^ 和 M 的组合,打印不出来的)。Linux下很多文本编辑器(命令行)会在显示这个标记之后,补上一个自己的换行符,以避免内容混乱(只是用于显示,补充的换行符不会写入文件,有专门的命令将Windows换行符替换为Linux换行符)。 UNIX/Linux系统下的换行符在Windows系统的文本编辑器中会被忽略,整个文本会乱成一团。

    windows换行是\r\n,十六进制数值是:0D0A。
    LINUX换行是\n,十六进制数值是:0A
    所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的文件格式转换成win格式的。
    unix2dos 是把linux文件格式转换成windows文件格式
    dos2unix 是把windows格式转换成linux文件格式。

     

    linux下删除windows换行符^M

    OJ判题时发现一个问题:用%c读入的代码都会报wa。后来发现跟scanf有关。在linux下使用%c会读到\n和\r两个字符。所以需要将^M(也就是\r)字符删掉
    删除方法不少。找了一个比较简单的。
    要将a.txt里的^M去掉并写入b.txt,则使用如下指令cat a.txt | tr -d "^M" > b.txt
    注意:语句中的^M是通过ctrl+V, ctrl+M输入的。特指/r字符

    unix   下换行符只有:   \n
    Dos   下换行符有:\r\n 
    具体的,   \r的ascii   码是:13 
                     \n的ascii   码是:10

     

    原文地址:https://www.cnblogs.com/everest33Tong/p/6202446.html

    展开全文
  • 回车与换行符号\n,\r\n,^M符号

    千次阅读 2020-08-18 19:30:35
    但是它有一个问题,就是完一行换行的时候,要用去0.2秒,正好可以两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示...
  • 换行方式在早期的打印机时代,开始新的一行要占用两个字符的时间...计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的意见。UNIX人认为在到达一行的结尾时新增一行 (LF),而Mac人则认同
  • 选择other,按回车键确认 第六步,选择Chinese,按回车键确认 第七步,选择Chinese,按回车键确认 第八步,选择The default for the keyboard layout,按回车键确认 第九步,选择no compose key(没有组合键),按...
  • 通过设置joinspace选项,可以控制合并两行时的分隔符(如果一行是以标点符号来结尾)。如果设置 :setnojoinspaces ,用J命令合并两行时会用一个空格来分隔;如果设置 :setjoinspaces ,用J命令合并两行时会用两个...
  • 回车和换行

    2014-04-30 11:04:56
    回车符号和换行符号产生背景  关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以10...
  • 喜欢使用电脑的小伙伴们一般都会遇到win7系统竖线符号怎么打的问题,突然遇到win7系统竖线符号怎么打的问题就不知道该怎么办了,其实win7系统竖线符号怎么打的解决方法非常简单,按照1:第一种方法:利用键盘完成...
  • Latex相关符号

    千次阅读 2017-03-23 22:30:11
    函数、符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} latex数学符号表(2)" style="border:none; max-width:100%"> \acute{\eta} latex数学符号表(2)" style="border:none; max...
  • LaTeX 各种命令,符号

    万次阅读 多人点赞 2016-06-12 15:27:42
    函数、符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} latex数学符号表(2)" style="border:none; max-width:100%"> \acute{\eta} latex数学符号表(2)" style="border:none; max...
  • 在word中我们可以通过 shift+enter打出这个符号。这样就导致一个问题一句就成了一行,造成了很大一部分的空白,很不美观。那有什么办法把它去掉,或者替换掉呢?办法当然是有的。我们先对比下硬回车(直接按enter键...
  • 回车符和换行符区别

    2014-03-31 11:52:10
    回车符号和换行符号产生背景: 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以10个...
  • 空格符号复制html,空格网名符号复制

    万次阅读 2021-06-14 06:13:25
    空格网名符号复制搜狗输入法,v+1 在按下d 就是空格 :这里空格【】 这里还有一个空格: []弄了,在游戏里就是空白名空格符号复制法一:搜狗输入法将半角转换全角,快捷键(Shift+空格键),按空格(根据:半角空格...
  • 回车与换行的区别

    千次阅读 2014-09-14 10:53:18
    我一直没有搞得很清楚,回车和换行符有啥区别。 记得大一时,C语言老师就说过回车、换行,但都没说得那么细。...符号 ASCII码 意义 \n 10 换行NL \r 13 回车CR 回车 \r 本义是光标重新回到本
  • 有时候我们从网页上复制文章到Word中时,往往会带有好多向下箭头的符号,这就是软回车符号(Word中软回车是同时按住shift+enter得来的),如何才能删除这些软回车符号呢? 当然可以手动的一个个删,但实在太麻烦了,...
  • 换行符‘\n’和回车符‘\r’

    千次阅读 2013-12-22 22:44:17
    顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车...在Windows系统下,回车换行符号是"\r\n".但是在Linux等系统下是没有"\r"符号的。 在解析文本或其他格
  • 回车符号和换行符号产生背景: 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以10个字符。但是它有一个问题,就是完一行换行的时候,要用去0.2秒,正好可以两个字符...
  • 函数、符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} \acute{\eta} \check{\alpha} \grave{\eta} \breve{a} \ddot{y} \dot{x} \hat{\alpha} \t...
  • DB2 换行回车

    万次阅读 2012-12-03 13:58:10
    很多人搞不清楚到底什么是回车(carriage return),什么是换行(line feed),下面简要介绍一下这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机的玩意,每秒钟可以10个字符。但是它有...
  • \r \n 回车换行符详解

    千次阅读 2020-09-02 09:15:27
    \r \n 回车换行符详解1. \r \n 回车换行的含义1.1 \r 回车1.2 \n 换行2. \r \n 回车换行的历史2.1 \r \n 回车换行的历史2.2 发展:linux 和 windows的不同 1. \r \n 回车换行的含义 1.1 \r 回车 CR (carriage ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,765
精华内容 23,106
关键字:

怎么打出回车符号