Функция perror

Прототип функции perror:

void perror( const char * string );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

Функция perror интерпретирует значение глобальной переменной ERRNO в строку и выводит эту строку на стандартный поток вывода (стандартный поток вывода ошибок, обычно — экран) с сообщением, указанным в параметре string.

Макрос ERRNO является глобальной переменной, которая содержит значение об ошибке (последней ошибке), полученной при вызове библиотечных функций. Значение ошибки переводится в строковое сообщение функцией perror, содержание сообщения зависит от платформы и компилятора.

Если параметр string не является нулевым указателем, то перед выводом ошибки, сначала печатается сообщение содержащееся в string, после — двоеточие (:) и символ пробела. Когда string — нулевой указатель, тогда, генерируется сообщение об ошибке и выводится на экран. В конце сообщения следует символ новой строки '\n'.

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

Параметры:

  • string
    Строка содержащая дополнительное сообщение, которое выводится перед сообщением об ошибке. Если параметр — нулевой указатель, то никакого дополнительного сообщения не печатается, но сообщение об ошибке печатается. Чаще всего в качестве этого параметра используется имя приложения.

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

нет

Пример: исходный код программы

//пример использования perror

#include <cstdio>

int main()
{
  FILE * ptrFile = fopen("nonexist.ent", "rb");

  if (ptrFile == NULL)
    perror("Произошла ошибка: ");
  else
    fclose (ptrFile);
  return 0;
}

Пример работы программы

Если файл nonexist.ent не существует, то выводится соответствующее сообщение, похожее на это:

CppStudio.com
Произошла ошибка: : No such file or directory
Автор: Marienko L.
Дата: 14.09.2012
Поделиться:

Комментарии

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.