Прототип функции 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
не существует, то выводится соответствующее сообщение, похожее на это:
Комментарии