Функция fscanf является функцией ввода из файлов в языке программирования C и возвращает число успешно считанных и преобразованных элементов данных. Однако при неподходящем значении для данного спецификатора формата, fscanf возвращает значение EOF.
EOF (End-Of-File) - это константа, которая представляет конец файла и имеет значение -1.
Предположим, у нас есть следующий код:
int number; FILE *file; file = fopen("data.txt", "r"); if (file == NULL) { printf("Не удалось открыть файлn"); return 1; } if (fscanf(file, "%d", &number) == EOF) { printf("Не удалось считать значение из файлаn"); } fclose(file);
В этом коде мы открываем файл "data.txt" в режиме чтения. Затем мы пытаемся считать значение, используя спецификатор формата "%d" (целое число) и сохраняем его в переменную number.
Если значение в файле не является целым числом, функция fscanf не сможет сконвертировать его и вернет значение EOF. В этом случае мы выводим сообщение об ошибке "Не удалось считать значение из файла".
Важно отметить, что при возникновении ошибки чтения функция fscanf не перемещает позицию в файле - она остается на той же позиции, где произошла ошибка.