unix、windows、mac 的换行习惯
换行在C语言里分为:\n 和 \r
\n :LF (Line-Feed) ,常翻译为“换行”。
\r :CR (Cariage-Return) ,翻译为“回车”。
unix / linux:用 LF (\n) 表示一行结束。
mac:用 CR (\r) 表示一行结束。
windows:用 CR LF (\r\n) 和起来表示一行结束。
形成这三个系统表示一行结束区别的原因,在《unix编程艺术》里提到过,是由于最早时使用的都是打字机,当打满一行以后,就必须将打印头下移一行,并退回行头(如果你见过电视上老式的打字机就能理解。记得在初一的时候,我们学校给我们上过一学期的“打字课”,用的就是老式的那种打字机)。虽然计算机不需要这样做,但是由于打字机的影响,windows系统保留了这种习惯,依然沿用“回车+换行”(CR LF)表示一行的结束,而unix和mac就只取了一个作为一行的结束。
个人觉得,这也正好符合操作系统各自的风格,unix崇尚简洁,而windows比较繁琐。