关于feof()函数的问题
程序代码:
int Count(FILE *fp,STUD *stud) { int i=0; int debug;//DEBUG while (!feof(fp)) { printf("%d\n",ftell(fp));//DEBUG if ((debug=fread(&stud[i++],LEN,1,fp))!=1) { printf("file read error!\n"); printf("DEBUG=%d\n",debug);//DEBUG exit(0); } } return i; }
这个Count()函数读出文件中的记录到内存中,并且返回记录条数,每条记录占用32字节,另外说明一下,文件本身是以二进制流文件存储的
调试后的情况如下图
这个文件中共有5条记录,可以看到实际上前5条记录顺利读入,但是在文件结束判断时我不知道我出现了什么问题导致了这样的错误结果
劳烦各位大侠帮忙看看了。
[ 本帖最后由 baobaoisme 于 2011-2-26 15:54 编辑 ]