Функции библиотеки C -clearerr()

Стандартная библиотека C - <stdio.h>

Описание

Функции библиотеки Cvoid clearerr(FILE *stream)Очищает индикаторы конца файла и ошибок для заданного потока.

Объявление

Ниже приведено объявление функции clearerr().

void clearerr(FILE *stream)

Параметр

  • stream-- Это указатель на объект FILE, который идентифицирует поток.

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

Это не вызывает сбоя и не устанавливает внешнюю переменную errno, но если она обнаруживает, что её аргумент не является допустимым потоком, она возвращает -1 и устанавливает errno в EBADF.

Пример

Следующий пример демонстрирует использование функции clearerr().

Пример

#include <stdio.h>

int main()
{
   FILE *fp;
   char c;

   fp = fopen("file.txt", "w");

   c = fgetc(fp);
   if( ferror(fp) )
   {
      printf("Error reading file: file.txt\n");
   }
   clearerr(fp);
   if( ferror(fp) )
   {
      printf("Error reading file: file.txt\n");
   }
   fclose(fp);

   return(0);
}

Предположим, у нас есть текстовый файлfile.txt, который является пустым файлом. Давайте скомпилируем и запустим вышеуказанную программу. Поскольку мы пытаемся прочитать файл, открытый в режиме только для записи, это даст следующий результат.

读取文件:file.txt 时发生错误

Стандартная библиотека C - <stdio.h>

Другие расширения