Code Bye

C语言文件的3个问题

1.为什么在C语言中,读入文本文件时,遇到回车换行,系统要将回车换行替换为换行一个符号?
2.我们平时按enter键,键盘送给系统的是几个符号?是回车?还是回车换行?
3.以下程序是读如2进制文件中的10个数据,为什么最后一个数显示2次?例如下例中的10,就显示了2次。但本人看了文件长度,确实只有40个字节。这是什么原因造成的,用什么办法可以解决。
int main(){
FILE *f1,*f2;
int i;
f1=fopen(“F:\date.dat”,”wb”);
for(i=1;i<=10;i++)
fwrite((int*)&i,sizeof(int),1,f1);
fclose(f1);
f2=fopen(“F:\date.dat”,”rb”);
while(!feof(f2))
{
fread((int*)&i,sizeof(int),1,f2);
printf(“%d “,i);
}
fclose(f2);
return 0;
}
解决方案

40

理解讨论之前请先学会怎么样观察
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
读写文件的函数对应的C源代码都有,本人看或单步调试一下,在crt\src\*.c

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C语言文件的3个问题