以下控制字符的含义:

回车 换行 换页


当前回答

在老式的纸质打印机终端上,前进到下一行需要两个动作:将打印头移回水平扫描范围的起点(回车)和前进正在打印的纸卷(换行)。

由于我们不再使用纸质打印机终端,这些动作已经无关紧要了,但用来发出信号的字符以各种形式存在。

其他回答

看看维基百科:

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

这些是非印刷字符,与“新行”的概念有关。\n是换行。\r是回车。在不同的平台上,相对于有效的新行,它们有不同的含义。在windows中,新行是\r\n。在linux中,\n。在mac中,\r。

实际上,将它们放在任何字符串中,都会对字符串的打印结果产生影响。

作为补充,

1、回车:这是打印机术语,意思是将打印位置更改到当前行的开头。在计算机世界中,它在大多数情况下表示返回到当前行的开始,但很少表示新行。

2、换行:这是打印机术语,意思是把纸张往前行。因此换行和换行一起使用,在新行开始时开始打印。在计算机世界中,它通常与换行符具有相同的含义。

3、表单提要:这是一个打印机术语,我喜欢这个帖子中的解释。

如果您正在为一台20世纪80年代风格的打印机编程,它将弹出 纸,开始新的一页。你几乎可以肯定永远不需要 它。 http://en.wikipedia.org/wiki/Form_feed

它几乎已经过时了,你可以参考转义序列\f - form feed -它到底是什么?详细说明。

注意,我们可以在某些平台上使用CR或LF或CRLF来代表换行符,但在其他一些平台上它们不能代表换行符。详见wiki Newline。

LF: Multics, Unix and Unix-like systems (Linux, OS X, FreeBSD, AIX, Xenix, etc.), BeOS, Amiga, RISC OS, and others CR: Commodore 8-bit machines, Acorn BBC, ZX Spectrum, TRS-80, Apple II family, Oberon, the classic Mac OS up to version 9, MIT Lisp Machine and OS-9 RS: QNX pre-POSIX implementation 0x9B: Atari 8-bit machines using ATASCII variant of ASCII (155 in decimal) CR+LF: Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10, RT-11, CP/M, MP/M, Atari TOS, OS/2, Symbian OS, Palm OS, Amstrad CPC, and most other early non-Unix and non-IBM OSes LF+CR: Acorn BBC and RISC OS spooled text output.

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

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

为例:

用c++编写以下代码

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

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

}

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

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

ABC > xyz.doc

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

\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