fscanf () выводит неверное значение - PullRequest
2 голосов
/ 11 октября 2019

Я пытаюсь прочитать целые числа из текстового файла. Однако этот код бесконечно печатает значение i. Таким образом, он продолжает печатать нули вместо целых чисел в файле. Как я могу это исправить? Спасибо!

FILE* inFile = fopen(filename,"r");
    int i=0;
    int x;


    while(fscanf(inFile,"%d",&i)!= EOF){
            printf("%d\n", i);
            usleep(30000);
            //fscanf(inFile,"%d",&i);

    }
    fclose(inFile);

1 Ответ

3 голосов
/ 11 октября 2019

fscanf() возвращает количество успешно проверенных полей.

Поэтому вместо

while (fscanf(inFile, "%d", &i) != EOF)

попробуйте что-то вроде

while (fscanf(inFile, "%d", &i) == 1)
...