回车
换行
分页符
回车
换行
分页符
回车指的是在不向下移动的情况下返回当前行的开头。这个名称来自于打印机的走轮,因为当这个名称被创造时,显示器还很少见。这通常被转义为"\r",缩写为CR,并具有ASCII值13或0xD。
换行符意味着向下移动到下一行;然而,它已经被重新定义并更名。作为“换行符”使用,它终止行(常常与分隔行混淆)。这通常被转义为"\n",缩写为LF或NL,并具有ASCII值10或0xA。CRLF(但不是CRNL)用于对应"\r\n"的一对字符。
换页符意味着向下移动到下一页。它曾经常用作页面分隔符,但现在也用作节分隔符。文本编辑器可以在“插入分页符”时使用此字符。这通常被转义为"\f",缩写为FF,并具有ASCII值12或0xC。
作为控制字符,它们可以以各种方式进行解释。
最重要的解释是这些字符如何分隔行。在Unix(包括OS X)上,行以NL结尾,在Windows上以CRLF结尾,在旧版Mac上以CR结尾。请注意,从LF到NL的含义转变,对于完全相同的字符,给出了Windows和Unix之间的差异,这也是为什么许多Windows程序使用CRLF来“分隔”而不是“终止”行的原因。许多文本编辑器可以读取这三种格式中的任何一种并在它们之间进行转换,但并非所有实用程序都可以。
进纸符号很少使用。作为页面分隔符,它只能出现在行之间或文件的开头或结尾。
\x0c
吗? - Tjorriemorrie\r
是回车符,作用类似于光标回到了行首。
printf("stackoverflow\rnine")
ninekoverflow
意味着它已将光标移动到“stackoverflow”的开头,并覆盖了起始的四个字符,因为“nine”有四个字符长。
\n
是换行符,它会改变行并将光标移到新行的开头,就像这样-
printf("stackoverflow\nnine")
stackoverflow
nine
\f
是换页符,虽然它的使用已经过时,但它仍可用于提供缩进,例如:
printf("stackoverflow\fnine")
stackoverflow
nine
如果我写成这样 -
printf("stackoverflow\fnine\fgreat")
stackoverflow
nine
great
printf
实用程序来执行相同的操作。甚至可以使用bash内置的echo -en
命令。 - Ruslanprintf("123\f456\f789");
在控制台上显示 <b>123456789</b>。 - Mayur简而言之:
\r
或0xD
):控制光标在同一行的起始位置。\n
或0xA
):控制光标在下一行的起始位置。\f
或0xC
):控制光标在下一页的起始位置。更多细节和更多的控制字符可以在以下页面找到:控制字符
0x0A 0x0D
两种选择,这些选择是任意的。概念不是孤立存在的,因此简洁的答案不适用于这些情况。 - daparic请看维基百科:
使用基于ASCII或兼容字符集的系统会单独使用LF(换行,'\n',0x0A,十进制中的10)或CR(回车,'\r',0x0D,十进制中的13),或者使用CR后跟LF(CR + LF,0x0D 0x0A)。这些字符基于打印机命令:换行指示打印机应输出一行纸张,回车指示打印机车厢应返回到当前行的开头。
\f
用于分页符。
你无法在控制台上看到任何效果。但是当你在文件中使用这个字符常量时,你会看到不同之处。
另一个例子是,如果你可以将输出重定向到一个文件中,那么你就不必编写一个文件或使用文件处理。
例如:
在 c++ 中编写以下代码:
void main()
{
clrscr();
cout<<"helloooooo" ;
cout<<"\f";
cout<<"hiiiii" ;
}
编译后会生成一个exe文件(例如abc.exe
)。
然后,您可以使用以下命令将输出重定向到文件:
abc > xyz.doc
接下来打开文件xyz.doc
,您就可以看到hellooo和hiiii....之间的实际分页符。
在老式的打印终端上,换行需要执行两个动作:将打印头移回水平扫描范围的起始位置(回车符),并将正在打印的纸卷向前推进(换行符)。
由于我们不再使用纸质打印终端,这些操作已经不太相关了,但是用于表示它们的字符在各种版本中仍然存在。
WRITE.EXE
(又名Wordpad)可以正常显示它们。 - thecarpy作为补充,
1、回车符(Carriage return):它是打印机术语,表示将打印位置改变到当前行的开头。在计算机世界中,它通常意味着返回到当前行的开头,在某些情况下也表示换行。
2、换行符(Line feed):它是打印机术语,表示将纸张向前推进一行。因此,回车符和换行符经常一起使用,以便在新行的开头开始打印。在计算机世界中,它通常与换行符具有相同的含义。
3、分页符(Form feed):它是打印机术语,在这个帖子中给出了一个很好的解释。
如果你为20世纪80年代的打印机编程,它将弹出纸张并开始新一页。你几乎肯定永远不需要它。
它几乎已经过时了,你可以参考转义序列\f是什么?进行详细解释。
请注意,我们可以在某些平台上使用CR或LF或CRLF代表换行,但在其他平台上不能用它们来代表换行。有关详细信息,请参阅维基百科的换行符页面。
LF:Multics、Unix和类Unix系统(Linux、OS X、FreeBSD、AIX、Xenix等)、BeOS、Amiga、RISC OS等
CR:Commodore 8位机、Acorn BBC、ZX Spectrum、TRS-80、Apple II系列、Oberon、经典Mac OS版本9及以前、MIT Lisp Machine和OS-9
RS:QNX的先POSIX实现
0x9B:使用ATASCII变体的ASCII的Atari 8位机器(十进制155)
CR+LF:Microsoft Windows,DOS(MS-DOS,PC DOS等),DEC TOPS-10,RT-11,CP/M,MP/M,Atari TOS,OS/2,Symbian OS,Palm OS,Amstrad CPC和大多数早期非Unix和非IBM的操作系统
LF+CR:Acorn BBC和RISC OS排队文本输出。
"\n"是换行符。它表示结束当前行并在阅读时进入新行。
"