回车与换行的区别

回车与换行的区别:

1、两个控制字符的介绍
以前打字机中,每行后面加两个表示结束的字符。一个叫做 “回车”return(/r),告诉打字机把打印头定位在左边界 ;另一个叫做 “换行”new line(/n),告诉打字机把纸向下移一行

2、目前计算机:

  1. 在Windows中:
    ‘\r’ 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖
    ‘\n’ 换行,换到当前位置的下一行,而不会回到行首
  2. Unix系统里:
    每行结尾只有“<换行>”,即"\n";Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”

3、结果:

  1. 一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号
  2. Linux中遇到换行符("\n")会进行回车+换行的操作,回车符反而只会作为控制字符("^M")显示,不发生回车的操作。而windows中要回车符+换行符("\r\n")才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行

学习链接:回车和换行区别

建议: 写代码为了可移植性:用\r\n。或者用std::endl;

你可能感兴趣的:(Linux/Shell命令)