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

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

" P "

perror 

pow,powf,powl 

pow10,pow10f,pow10l 

printf 

pthread_attr_getdetachstate 

pthread_attr_getinheritsched 

pthread_attr_getschedparam 

pthread_attr_getschedpolicy 

pthread_attr_init 

putc 

putchar 

puts 

putw 

  

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

perror – вывод сообщения об ошибке.

Синтаксис:

#include < stdio.h >
void perror (const char *s);

Аргументы:

s - указатель на строку, которая будет выведена перед выводом сообщения об ошибке.

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

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

Описание:

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

Если на момент вызова функции ошибок не зафиксировано или информация о них удалена, то в качестве сообщения об ошибке будет выведено сообщение: Success.

Пример:

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


#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
   {
      // Вывод информации о возникшей ошибке:
      perror (“Ошибка потока данных”);
   }

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

   return 0;
}

Результат:

Открытие файла: выполнено
Ошибка потока данных: Bad file descriptor.
Закрытие файла: выполнено



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

feof
ferror
clearerr
perror
strerror


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

Рейтинг@Mail.ru