有一個文件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