我正在尝试以下列格式阅读文件 你好
{
1--2
2--3
3--4
}
我只想使用文件中给出的整数,并且我正在使用以下代码
while(fscanf(fp, "%d--%d", &a, &b) != EOF)
{ // do something here}
问题是这不起作用,因为它在读取第一行后进入无限循环,如果我删除第一行,它会在读取}
的最后一行进入无限循环。
那么,如何以正确的方式做到这一点?
答案 0 :(得分:0)
如果一切都失败了,RTFM:
fscanf:"此函数返回成功匹配和分配的输入项的数量,可以少于提供的数量,或者在早期匹配失败的情况下甚至为零。"
同时,EOF = -1虽然在某些平台上的某些stdio.h头文件中它可能等于零。
您可以检查fscanf是否返回0或使用feof(fp)
检查是否已到达文件末尾。