例如,我有一个包含数字行的文本文件
5 6 3 2 10 4 6
18 49 40 9 17 40 0
当我读入文件时,它不会停在文件末尾。我的循环读入代码如下 -
while ((fscanf(spFile, "%d", &scores[i][j])) == 1 && spFile != EOF) {
printf("%d ", scores[i][j]);
if(j == 8) {
i++;
j = 0;
printf("\n");
} else {
j++;
}
numOfStudents++;
}
最大行数是 50(所以一个 50 的数组(必须把它作为数组而不是指针))我有 numOfStudents 来计算行数,当它完成时它说 50 而实际上只有 2 .
谢谢!
最佳答案
fscanf() 将返回 0 或 EOF。
您还可以使用“feof()”函数。
文件指针变量 spFile 将永远等于 EOF。 “EOF”是由 C 运行时管理的状态,它不是文件指针本身。
关于c - 我如何在 C 中检查 EOF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12763836/