以下控制字符的含义:

回车 换行 换页


当前回答

when I was an apprentice in the Royal Signals many (50) years ago, teletypes and typewriters had "Carriage" with the printing head on them. When you pressed RETURN the Carriage would fly to the left. Hence Carriage Return (CR). You could just return the Carriage, but on mechanical typewriters, you'd use the Lever (much like a tremolo lever on an electric guitar) which would also do the Line Feed. Your next question is why would you not want the line feed? heh heh well in those days to delete characters we'd do a CR then use a Tip-ex-like paper in between the hammerheads and paper and type the same keys to over-write with white ink. Some fancy typewriters had a key you could press. So there you go.

其他回答

Carriage return and line feed are also references to typewriters, in that the with a small push on the handle on the left side of the carriage (the place where the paper goes), the paper would rotate a small amount around the cylinder, advancing the document one line. If you had finished typing one line, and wanted to continue on to the next, you pushed harder, both advancing a line and sliding the carriage all the way to the right, then resuming typing left to right again as the carriage traveled with each keystroke. Needless to say, word-wrap was the default setting for all word processing of the era. P:D

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

作为补充,

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.

\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

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

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