![](/img/trans.png)
[英]fscanf not returning EOF or fscanf going to infinite loop in C
[英]Infinite loop fscanf in C
我遇到fscanf陷入無限循環的問題。 {
char num;
FILE *filePtr;
if ((filePtr = fopen("filename.txt", "r")) == NULL)
{
printf("File could not be opened");
}
else
{
while (fscanf(filePtr, "%20[^ ,]", &num) != EOF)
{
displayFun(num);
}
}
return 0;
我需要讀取的文件輸入為:0、1、2、3、16、17、1234、5678,-201、65534、65535、65536,-1
由於某種原因,代碼陷入了循環,並且第一個零並不會繼續到其他數字。
"%20[^ ,]"
從不消耗,
或空間。 他們留在filePtr
以便進行下一個fscanf()
調用。 代碼需要以某種方式閱讀,
和空間。
正如@melpomene所說,將文本作為字符串讀入char
無效,
推薦閱讀的int
和,
來代替。
int number;
while (fscanf(filePtr, "%d,", &number) == 1) {
displayFun(num);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.