我有这个函数可以从结构如下的 txt 文件中读取数字:
1 2 5
2 1 9
3 5 8
该函数将值正确读取到我的值中,但我想检查我读取的行是否是文件中的最后一行。
我在下面函数中的最后一个 if 语句尝试通过查看 fscanf 是否产生 NULL 但它不起作用来执行此操作,即使它不是最后一行,该函数也总是返回 NULL。
void process(int lineNum, char *fullName)
{
int ii, num1, num2, num3;
FILE* f;
f = fopen(fullName, "r");
if(f==NULL)
{
printf("Error: could not open %S", fullName);
}
else
{
for (ii=0 (ii = 0; ii < (lineNum-1); ii++)
{
/*move through lines without scanning*/
fscanf(f, "%d %d %d", &num1, &num2, &num3);
}
if (fscanf(f, "%*d %*d %*d\n")==NULL)
{
printf("No more lines");
}
fclose(f);
}
}