700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言中遇到的feof函数与EOF的结果问题

C语言中遇到的feof函数与EOF的结果问题

时间:2020-10-15 03:16:11

相关推荐

C语言中遇到的feof函数与EOF的结果问题

#include <stdio.h>#include <windows.h>// EOF是文件结束符 int main(void){FILE *fp;int ch;//char ch;int i = 0;if((fp = fopen("D:\\file.txt", "rb")) == NULL){printf("open error\n");exit(0);}while(!feof(fp)){ch = fgetc(fp);printf("%d,", ch); i++;}printf("\n");rewind(fp);while((ch = fgetc(fp)) != EOF){printf("%d,", ch);i--;}printf("\ni = %d\n", i); // 1 return 0;}

执行结果如下:(最后一个-1就是EOF转换成整型的值)

可见打印出来的结果虽然是一样但是feof的循环比EOF的多一次,即feof函数不是一读到EOF就返回0,而是将EOF读完后再返回0,但是EOF是一个特殊的字符所以不能输出所以是不会影响打印的结果的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。