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