以下控制字符的含义:

回车 换行 换页


当前回答

“\n”是换行字符。这意味着结束当前行,并为正在阅读它的任何人转到新的行。

其他回答

看看维基百科:

基于ASCII或兼容字符集的系统分别使用LF(换行,'\n', 0x0A,十进制10)或CR(回车,'\r', 0x0D,十进制13),或CR后跟LF (CR+LF, 0x0D 0x0A)。这些字符是基于打印机命令的:换行指示一行纸应该从打印机输出,回车指示打印机的回车应返回到当前行的开头。

“\n”是换行字符。这意味着结束当前行,并为正在阅读它的任何人转到新的行。

\r是回车,光标向后移动,就像我要做-一样

printf("stackoverflow\rnine")
ninekoverflow

表示已将光标移到“stackoverflow”的开头,并覆盖开始的4个字符,因为“nine”有4个字符长。

\n是新行字符,它改变行并将光标移到新行开头,如-

printf("stackoverflow\nnine")
stackoverflow
nine

\f是进给,它的用途已经过时了,但它被用于缩进

printf("stackoverflow\fnine")
stackoverflow
             nine

如果我这样写

printf("stackoverflow\fnine\fgreat")
stackoverflow
             nine
                 great

\f用于换页。 在控制台中看不到任何效果。但是当你在文件中使用这个字符常量时,你就能看到区别了。

另一个例子是,如果你可以将输出重定向到一个文件,那么你就不必写文件或使用文件处理。

为例:

用c++编写以下代码

void main()    
{
    clrscr();
    cout<<"helloooooo" ;

    cout<<"\f";
    cout<<"hiiiii" ;

}

当你编译它的时候,它会生成一个exe(for exe . abc.exe)

然后你可以使用这个重定向输出到一个文件:

ABC > xyz.doc

然后打开xyz.doc文件,您可以看到helloo和hiiii....之间的实际分页符

Apart from above information, there is still an interesting history of LF (\n) and CR (\r). [Original author : 阮一峰 Source : http://www.ruanyifeng.com/blog/2006/04/post_213.html] Before computer came out, there was a type of teleprinter called Teletype Model 33. It can print 10 characters each second. But there is one problem with this, after finishing printing each line, it will take 0.2 second to move to next line, which is time of printing 2 characters. If a new characters is transferred during this 0.2 second, then this new character will be lost.

于是科学家们找到了解决这个问题的方法,他们在每行后面加了两个结尾字符,一个是“回车”,这是告诉打印机将打印头移到左边。另一个是“换行”,它告诉打印机将纸张上移一行。

后来,计算机变得流行起来,这两个概念都用在了计算机上。当时的存储设备很贵,所以有科学家说每行末尾加两个字很贵,一个就够了,所以用哪个就有一些争论。

在UNIX/Mac和Linux中,'\n'被放在每行的末尾,在Windows中,'\r\n'被放在每行的末尾。这种使用的结果是,如果在Windows中打开,UNIX/Mac中的文件将显示在一行中。而Windows中的文件如果在UNIX或Mac中打开,则每行末尾会有一个^M。