C语言中回车符

问题:谭浩强的《C程序设计-第三版》中,第341页中,有句话不明白。如下:
“从键盘输入4个学生的数据是ASCII码,也就是文本文件,在送到计算机内存时,回车和换行符转换成一个换行符。……”其中的“回车和换行符转换成一个换行符”是什么意思?为什么是两个符号,为什么能转换成一个换行符?

解答:文本文件的行结束符,传统上
PC机 用 CRLF
苹果机用CR
unix 用 LF

CR -- 回车符,c语言'/r'
LF -- 换行符, c语言'/n'

不同计算机上c语言统一规定为:
文本文件的行结束符一律变成一个符号LF,也就是换行符,也就是new line符, 也就是'/n'.

“回车和换行符转换成一个换行符”-- 对PC机而言,文本文件行结束符,CRLF读入后,丢掉CR,留LF.

例如fgets() 读入一行,行尾只有LF,没有CR.

 

日常中(pc机)的回车实际上是 /r/n 两个字符

/r到一行的行首

/n再换一行

你可能感兴趣的:(c,语言)