Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" C "

cacos, cacosf, cacosl 

casin, casinf, casinl 

catan, catanf, catanl 

cbrt, cbrtf, cbrtl 

ccos, ccosf, ccosl 

ceil, ceilf, ceill 

cex, cexpf, cexpl 

clearerr 

clock_getres 

clock_gettime 

clock_settime 

clog, clogf, clogl 

clog10, clog10f, clog10l 

copysign, copysignf, copysignl 

cos, cosf, cosl 

cosh, coshf, coshl 

cpow, cpowf, cpowl 

csin, csinf, csinl 

ctan, ctanf, ctanl 

ctime 

ctime_r 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

clearerr – сброс индикатора ошибок потока данных.

Синтаксис:

#include < stdio.h >

void clearerr (FILE *stream);

Аргументы:

stream - указатель на управляющую таблицу открытого потока данных.

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

Функция ничего не возвращает.

Описание:

Функция сбрасывает индикатор ошибки потока данных, на который указывает аргумент stream и признак достижения конца файла при чтении.

Пример:

В примере создается файл для чтения с именем test.txt, располагающейся в папке myfile (папка создана до запуска программы и располагается в директории, из которой запускается программа). Для вызова ошибки в файл производится запись. Далее с помощью функции ferror фиксируется наличие ошибки.

После фиксации ошибки сбрасывается индикатор ошибок и вновь проверяется наличие ошибок работы с потоком данных.


#include < stdio.h >    //Для fopen, fclose, printf, fprintf; ferror, perror

int main (void)
{    
   // Переменная, в которую будет сохранен указатель 
   // на управляющую таблицу открываемого потока данных
   FILE *mf; 

   // Переменная в которую будет занесена информация о наличии ошибок при 
   // работе с потоком данных
   int err; 

   // Открытие файла на чтение
   printf (“Открытие файла: ”);
   mf=fopen (“myfile/test.txt”,”r”);

   // Проверка открытия файла
   if (mf == NULL) printf (“ошибка\n”);
   else printf (“выполнено\n”);
 
   //Запись данных в файл
   fprintf (mf,“ Тест записи в файл”);
     
   // Определение наличия ошибок
   err = ferror (mf);
   if (err == 0)
      printf (“Есть ошибки работы с потоком данных\n”);
   else
      printf (“Ошибок работы с файлом нет\n”);

   // сброс индикатора ошибок потока данных
   printf (“Сброс индикатора ошибок потока данных \n”);
   clearerr (mf);

   // Определение наличия ошибок
   err = ferror (mf);
   if (err == 0)
      printf (“Есть ошибки работы с потоком данных\n”);
   else
      printf (“Ошибок работы с файлом нет\n”);

   // Закрытие файла
   printf (“Закрытие файла: ”);
   if ( fclose (mf) = EOF) printf (“ошибка\n”);
   else printf (“выполнено\n”);

   return 0;
} 

Результат:

Открытие файла: выполнено
Есть ошибки работы с потоком данных
Сброс индикатора ошибок потока данных
Ошибок работы с файлом нет
Закрытие файла: выполнено



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

feof
ferror
clearerr
perror
strerror


Яндекс.Метрика

Рейтинг@Mail.ru