有一个文件a.txt中读取如下:使用的fscanf在项目
1 abc
2
3 jkl
我想读这个文件的每一行作为int
和一个字符串,像这样:
fp = fopen("a.txt", "r");
while (1) {
int num;
char str[10];
int ret =fscanf(fp, "%d%s", &num, str);
if (EOF == ret)
break;
else if (2 != ret)
continue;
// do something with num and str
}
但有一个问题,如果a.txt中的一行只包含一个数字,没有字符串(就像第2行),那么上面的代码将被卡在该行。
那么任何方式跳到下一行?
int ** ret = fscanf(“%d%s”,#num,str)**你忘记了在这个调用中引用fp吗?它应该是** int ret = fscanf(fp,“%d%s”,#num,str); ** – zdesam
@zdesam,对不起 – Alcott
你有什么异常? – zdesam