A-A+
以下程序用业统计文件十字符个数。请填空。 include stdio.h main()
问题详情
以下程序用业统计文件十字符个数。请填空。 include "stdio.h" main() { FTLE *fp; long num=OL; if((fp=fopen("fname.dat","r"))==NUlL) { pirntf("Open errorn"); exit(0);} while() { fgetc(fp); num++; } printf("num=%1dn",num-1); fclose(fp); }
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:!feof(fp)
本题中统计文件中字符个数的算法可描述如下:首先判断文件位置指针是否指向了文件尾,如果不是则读出一个字符,同时字符的个数加1,再判断文件位置指针是否位于文件尾,如此循环,直到文件位置指针位于文件尾为止。本题首先以读文件的方式打开了文件“fname.daf”,如果打开成功则把返回的文件型指针赋值给fp,然后通过循环求文件中的字符数。首先判断文件位置指针是否位于文件尾,如果不是则循环读取字符,每次字符数加1。所以下划处应填循环条件,文件位置指针不是指向文件尾,即“!feof(fp)”。