C语言中的"^L"是什么意思?

37

例如,GNU Hello包中 src/hello.c 中的 main 函数结尾如下:

   exit (EXIT_SUCCESS);
 }
 ^L

12
这句话的意思是“这个程序已经完成了...跟它无关!” - Hot Licks
我在想那是否是一个实际的FF,而编辑器仅仅显示它像^L,还是说它本身就是字符"^L"。如果我是编辑器,我会将FF显示为"♀"或"␌"。 - Mr Lister
@MrLister:那么你会想知道它是实际的FF还是字符♀或␌。;-) - tomasz
^L是控制字符Control-L或ASCII表单前进符,用于弹出页面。C编译器通常会忽略它,编辑器会在样例中显示它。 - Luis Colorado
@phuclv 这里不使用 ^L 作为字符串中的转义码,所以与其他情况不同。 - Sean Letendre
2个回答

60
这实际上是一个页面分隔符(“换页符”)字符。编译器会将其视为普通的空格。但它非常有用于打印源代码 - 它可以开始一个新页面(例如,在函数之间使用^L强制每个调用获取自己的页面)。
在基于Vim/vi的编辑器中,您可以通过输入Ctrl+V,然后再输入Ctrl+L来在编辑模式下插入此类字符。它在编辑器中看起来像^L,但实际上只是一个字符(ASCII值:12或0x0C)。
换句话说,^L的作用如下:

7
如果您将源代码打印在纸上,打印机会...开始新的一页。 - Hermann
7
字面上讲,这个 - selbie
13
@Croll 很明显这是一个短暂的经历。你从来没有处理过数百页的线打印机清单。你肯定会用它的。 - user207421
4
@Croll,这可不是第一次有人使用空格来使代码格式化得好看了,是吧? - naomimyselfandi
2
@user207421 - 我还记得过去的好日子,如果编译器在程序开始时不够智能自动完成它,你就会插入@eject或类似的命令,以便到达下一个整洁折叠的分页纸的顶部。这使得代码审查变得更加容易。 - Hot Licks
显示剩余6条评论

1

它也被称为换页符。这是一个分页的ASCII控制字符。它强制打印机弹出当前页面,并在另一页的顶部继续打印。它还会导致回车。换页符字符代码被定义为12(0xC in hexadecimal)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接