首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

fseek()和feof()的有关问题。

2012-05-22 
fseek()和feof()的问题。。for(i0i40i++){fseek(fp,i*sizeof(struct chengji),0)fread(&b[i],sizeof(st

fseek()和feof()的问题。。
for(i=0;i<40;i++)
{
fseek(fp,i*sizeof(struct chengji),0);
fread(&b[i],sizeof(struct chengji),1,fp);
if(!feof(fp))
{
fclose(fp);
break;
}
printf("....")
}
定义了一个结构体存放学生信息,用fread读出来到b里。fseek移动指针 。再用feof检测是否到文件末尾。却一直没返回1.循环一直执行。什么原因??求解啊!!

fp=fopen("student.dat","r"); 用r打开的。

[解决办法]
使用fseek时,最后一个参数不要0之类的数字,用SEEK_SET、SEEK_CUR等。
另外这个程序不需要调用fseek,fread读了之后会seek的
[解决办法]
if(feof(fp))
{
fclose(fp);
break;
}

热点排行