提问人:Borislav Nikolaev 提问时间:11/26/2015 最后编辑:LynnBorislav Nikolaev 更新时间:11/26/2015 访问量:608
我的循环不起作用(使用 feof)
My loop isn't working(using feof)
问:
FILE *test;
student st;
int i = 0;
test = fopen("example.bin", "rb");
while (feof(test))
{
fread(&st, sizeof(st),1,test);
Class[i] = st;
i++;
}
fclose(test);
所以我的问题是如何阅读它,将数据放入我的结构中并停止循环?
答:
2赞
M.M
11/26/2015
#1
相反,您应该循环,直到您无法阅读学生:
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;
}
评论
0赞
user3629249
11/26/2015
from 的赋值在 c 中不起作用(可能在 c++ 中),但这不是 c++Class[i]
st
上一个:C 语言中的基本流处理
评论
feof()
while (!feof(test))
feof()
fread()
fread()