“somefile.dat”中存储了10条记录,但以下程序显示了11个名称。什么
出错?
void main()
{
struct student
{
char name[30], rollno[6];
}stud;
FILE *fp = fopen(“somefile.dat”,”r”);
while(!feof(fp))
{
fread(&stud, sizeof(stud), 1 , fp);
puts(stud.name);
}
}
最佳答案
feof
函数使循环再次进入,然后进入预期状态。有关完整说明,请阅读此处:
Why is “while ( !feof (file) )” always wrong?
关于c++ - 记录存储在文件中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22554475/