Namespaces
Variants

clearerr

From cppreference.net
< c ‎ | io
Определено в заголовочном файле <stdio.h>
void clearerr ( FILE * stream ) ;

Сбрасывает флаги ошибок и индикатор EOF для указанного файлового потока.

Содержание

Параметры

stream - файл для сброса флагов ошибок

Возвращаемое значение

(нет)

Пример

#include <stdio.h>
#include <assert.h>
int main(void)
{
    FILE* tmpf = tmpfile();
    fputs("cppreference.net\n", tmpf);
    rewind(tmpf);
    for (int ch; (ch = fgetc(tmpf)) != EOF; putchar(ch)) { }
    assert(feof(tmpf)); // ожидается, что цикл завершится по EOF
    puts("Достигнут конец файла");
    clearerr(tmpf); // сбросить EOF
    puts(feof(tmpf) ? "Индикатор EOF установлен" 
                    : "Индикатор EOF сброшен");
}

Вывод:

cppreference.net
Достигнут конец файла
Индикатор EOF сброшен

Ссылки

  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.21.10.1 Функция clearerr (стр. 246)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.21.10.1 Функция clearerr (стр. 338)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.19.10.1 Функция clearerr (стр. 304)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.9.10.1 Функция clearerr

Смотрите также

проверяет достижение конца файла
(функция)
выводит строку символов, соответствующую текущей ошибке, в stderr
(функция)
проверяет наличие ошибки файла
(функция)
C++ documentation для clearerr