我的循环不起作用(使用feof)

时间:2015-11-25 21:19:02

标签: c loops feof

finally

所以我的问题是如何阅读它,将数据放入我的结构中并停止循环?

1 个答案:

答案 0 :(得分:2)

请参阅why is while(feof) always wrong

相反,你应该循环直到你没有读懂学生:

while (1 == fread(&st, sizeof st, 1, test))
{
    Class[i++] = st;
}

同样最好确保不要溢出Class的缓冲区,因此也要检查i,例如:

for (i = 0; i < MAX_CLASS && 1 == fread(&st, sizeof st, 1, test); ++i)
{
    Class[i] = st;
}