什么是以下控制字符的含义:
回车
换行
换页
什么是以下控制字符的含义:
回车
换行
换页
回车指返回到当前行的开头没有向下推进。 这个名字来自打印机的马车,当这个名字被创造出来显示器是罕见的。 这通常转义为为“\ r”,缩写CR,并且具有ASCII值13或0X0D。
换行装置向下前进到下一行; 然而,它已被另作它用,并更名。 用作“换行”,则终止线(通常与分离线混淆)。 这通常转义为“\ n”,简称LF或NL,并具有ASCII值10的0x0A。 CRLF(但不CRNL)被用于对为 “\ r \ n” 个。
形式供料装置提前向下方的下一个“页”。 它常常作为分页符,但现在也被用来作为部分分离。 (它在源代码中不常用的划分逻辑上独立的功能或功能组。)文本编辑器可以使用这个字当你“插入分页符”。 这通常转义为“\ F”,简称FF,并具有ASCII值12或0x0C。
作为控制字符,他们可以通过各种方式来解释。
最常见的差异(也可能是唯一一个值得担忧)是线,CRLF在Windows上,NL在Unix的喜欢,和CR老的Mac上(这种情况已经与OS X改为类似Unix的)结束。 注意从意思到LF NL的转变,对于完全相同的字符,使Windows和Unix之间的差异。 (视窗,当然,除了Unix更新,所以它没有采用这种语义的转变。我不使用CR知道苹果电脑的历史。)许多文本编辑器可以在任何这三种格式的读取文件,并将它们之间的转换,但并非所有实用程序可以。
形式进料是更有趣的(即使不太常用直接使用)的位,以及与页面分离器的通常的定义,它只能线之间来(例如NL,CRLF,或CR的行序列之后)或在开始或该文件末尾。
\r
是回车,光标移回一样,如果我会做-
printf("stackoverflow\rnine")
ninekoverflow
意味着它已经将光标移动到“计算器”的开始,因为“九”是四个字符长覆盖启动四个大字。
\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(为前。 abc.exe
)
那么你可以使用这个你的输出重定向到文件:
abc > xyz.doc
然后打开文件xyz.doc
你可以看到hellooo和hiiii之间的实际分页符....
看看维基百科 :
基于ASCII或兼容的字符集或者LF(换行,“\ n”,的0x0A,10十进制)或CR(回车,“\ r”,0X0D,13十进制)单独系统,或者CR随后LF(CR + LF,0X0D的0x0A)。 这些字符是基于打印机的命令:线料表明,纸一行应该送出打印机,和一个回车表明打印机滑架应返回到当前行的开头。
除了以上信息,还有LF(\ n)和CR(\ r)的一个有趣的历史。 [原作者:阮一峰来源: http://www.ruanyifeng.com/blog/2006/04/post_213.html]之前电脑就出来了,有一种所谓的电传电传型号33的可打印每10个字符第二。 但是有一个问题,这一点,整理打印每行后,将需要0.2秒〜移动到下一行,这是打印2个字符的时间。 如果一个新的字符被该0.2秒期间传送,那么这个新的字符都将丢失。
因此,科学家们找到了一种方法来解决这个问题,他们在每行后添加两个结束字符,一个是“回车”,这是告诉打印机,使打印头向左侧; 另一种是“换行”,它告诉打印机1个向上行移动纸张。
后来,电脑开始流行,这两个概念的计算机上使用。 当时,存储设备是非常昂贵的,所以一些科学家说,这是昂贵的,在每一行的末尾添加两个字符,一个就够了,所以有一些争论哪种使用一个。
在UNIX / Mac和Linux,“\ n”被放在每行的末尾,在Windows中,“\ r \ n”是在每行的末尾放置。 这种使用的后果是,如果在Windows中打开了UNIX / Mac上的文件将显示在一行。 而在Windows的文件会在每行的结尾有一个^ M如果UNIX或Mac打开。
旧纸打印机终端,前进到下一行包括两个动作:移动打印头回水平扫描范围(回车)的开始和前进正在打印(换行)的纸卷。
由于我们不再使用纸质打印终端,这些行动是不是真的有关了,但用来通知他们的角色已经在各种各样的化身周围停留。
考虑一个IBM 1403击打式打印机。 CR移动打印头行的开始,但没有推进纸张。 这允许“套印”,将输出的多条线在一行上。 像下划线事情都实现了这种方式,因为是黑体字。 LF先进的纸一行。 如果没有CR,下一行会打印为交错的步骤,因为LF没有移动打印头。 FF前进纸到下一个页面。 它通常也被移动打印头到新的页面上的第一行的开始,但您可能需要CR为。 可以肯定,大多数程序员在页面上编码CRFF而不是CRLF在最后一行的末尾,因为FF创建一个额外的CR不会有问题。
作为补充,
1, 回车 :这是一台打印机术语意味着改变打印位置, 当前行的开头。 在计算机世界中,这意味着返回在大多数情况下,当前行的开始,但是代表了新的生产线很少。
2, 换行 :这是一台打印机术语,意思是推进纸一行。 所以,回车和换行一起使用,开始以新行的开始打印。 在计算机世界里,它通常的含义相同的换行符。
3, 进纸 :这是一台打印机术语,我喜欢在解释这个线程 。
如果你正在编写一个20世纪80年代风格的打印机,它会退出纸张,并开始了新的一页。 你几乎肯定会永远需要它。
http://en.wikipedia.org/wiki/Form_feed
这几乎是过时的,你可以参考转义序列\的F -换-它到底是什么? 对于详细的解释。
请注意,我们可以使用CR或LF或CRLF放置换行符在一些平台上,但换行不能由他们在其他一些平台上站了起来。 参见维基换行的详细信息。
LF:Multics的,Unix和类Unix系统(Linux,OS X,FreeBSD的,AIX,Xenix的,等等),BeOS的,Amiga上,RISC OS,和其他人
CR:准将8位机,橡果BBC,ZX频谱,TRS-80,Apple II的家庭,奥伯伦,经典的Mac OS多达9版本,MIT Lisp机器和OS-9
RS:QNX预POSIX实现
0x9B:使用ASCII的ATASCII变体(155十进制)孝8位机器
CR + LF:Microsoft Windows中,DOS(MS-DOS,PC DOS等),DEC TOPS-10,RT-11,CP / M,MP / M,孝TOS,OS / 2,Symbian操作系统,Palm OS的党的Amstrad,和其他大多数早期非Unix和非IBM操作系统
LF + CR:橡子BBC和RISC OS后台文本输出。
“\ n”是换行符。 这意味着结束本线,去的人谁是阅读它一个新的生产线。
回车和换行也对打字机的引用,在该与在滑架(其中纸进入的地方)的左侧的手柄上的小推,本文将旋转圆筒周围有少量,推进记录一行。 如果你已经打完一行,并希望继续到下一个,你推更难,既推进线和滑动架一路向右,然后又继续打字留给再次向右车厢,每个按键旅行。 不用说,自动换行是默认设置为时代的所有文字处理。 病人:d
这些都是非打印字符,关于“新线”的概念。 \ n被换行。 \ r是回车。 在不同的平台上,他们有不同的含义,相对于一个有效的新的生产线。 在Windows中,一个新的行用\ r \ n。 在Linux中,的\ n。 在Mac,\ r。
在实践中,你把它们放在任何字符串,它会对打印输出字符串的效果。