c语言 回车符和换行符

  Unix 系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

  在Windows环境中,如果输入到文本文件,程序中的一个’\n’换行符被解释成’\r’、’\n’两个字符(会车、换行);相反,如果读取文本文件,文件中的相邻的两个’\r’、’\n’会合并为一个’\n’输出。但是在Unix/Linux环境下,’\n’就是’\n’,保持不变。   

  因此,Windows下的文本文件和Unix/Linux下的文本文件的格式是不同的,其原因就在于对于程序中的’\n’换行符的解释不同。’\n’,(换行符)是换行走纸,没有回车,回车是由’\r’实现 。  在UNIX中,早期的输入通常是穿孔机,没有什么回车概念。在DOS中,由于是屏幕输入,通常就有了’\r”\n’的区别,为了保证每次换行都能从头开始,DOS中的换行符通常会被存储为’\r\n’。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注