C语言的文件读写

书上有一段话事这样说的:从键盘输入4个学生的数据是ASCII码,也就是文本文件,在送到计算机内存是,回车和换行符转换成一个换行符。再从内存以“wb”方式(2进制写)输出到“stu-list”文件,此时不发生字符转换,按内存中的存储形式原样输出到磁盘文件。在上面验证程序中,又用fread函数从“stu-list”文件读入数据,注意此时用的是“rb”方式,即二进制方式,数据原样输入,也不发生字符转换。也就是这是候内存中的数据恢复到“stu-list”输出钱的情况,最后用printf函数输出。换行符又转换成回车加换行符。 如果用“r”方式读入数据则会出错。 我想问这段话应该怎样理解?还有就是回车加换行符的转换是怎么回事??

第1个回答  2020-03-01
回车和换行符转换成一个换行符
--
书本用的是老概念。
键盘输入,我们按Enter键,C/C++语言收到的就是'\n'
(新行符)。
打字机老概念:回车和换行,回车就是回到本行开始位置,换行就是到下一行。回车符
'\r'
,换行符'\n'
,
老码
CRLF。
“从键盘输入4个学生的数据是ASCII码,也就是文本文件”,把“也就是文本文件”删去。键盘输入是输入流,不叫文件。
“r”方式读入
--
fopen(文件名,"r")
--

"r"
方式
打开,是作为
文本文件打开,用于读。而不是用
二进制方式。
文件

wb
方式
打开和写成的,
必须用
rb
方式
打开和
读入.

b
用于
二进制文件。不

b
用于
文本文件(ASCII文件)
.
相似回答