文件末尾包含一个1/2/3位整数。如何只扫描号码?
(也许)重要的事情:数字前的字符是“`”或我将决定的其他任何字符。如果没有帮助,我可以忽略它。
如果这是我的文件:
...
jhgcfxdfghjkl
avav dfvfbrjykuyi
ma halooz evrbetj
`99
...
int index = 0;
FILE* fpointer = fopen(file_name, "a+");
if (!fpointer) {
printf("\nFILE ERROR.");
return;
}
for (int i = 3; i > 0; i--)
{
fseek(fpointer, i, SEEK_END);
if (fscanf(fpointer, "%d") != 0)
{
fscanf(fpointer, "%d", &index); // why does it enter this line even though the number is 1-digit?
break;
}
}
所以我已经尝试过了。 for循环应该检查数字之前的字符-i
是否为整数-但是,即使数字只有1位数字,它也会像满足条件一样进入行。我想念什么?