Namespaces
Variants

std:: perror

From cppreference.net
< cpp ‎ | io ‎ | c
Определено в заголовочном файле <cstdio>
void perror ( const char * s ) ;

Выводит текстовое описание кода ошибки, хранящегося в системной переменной errno в stderr .

Описание формируется путем объединения следующих компонентов:

  • содержимое строки байтов, завершающейся нулевым символом, на которую указывает s , за которым следует ": " (если только s не является нулевым указателем или символ, на который указывает s , не является нулевым символом).
  • определяемое реализацией сообщение об ошибке, описывающее код ошибки, хранящийся в errno , за которым следует ' \n ' . Строка сообщения об ошибке идентична результату выполнения std:: strerror ( errno ) .

Содержание

Параметры

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

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

(нет)

Пример

#include <cerrno>
#include <cmath>
#include <cstdio>
int main()
{
    double not_a_number = std::log(-1.0);
    if (errno == EDOM)
        std::perror("log(-1) failed");
    std::printf("%f\n", not_a_number);
}

Возможный вывод:

log(-1) failed: Numerical argument out of domain
nan

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

макрос, который раскрывается в POSIX-совместимую thread-local переменную номера ошибки
(макрос-переменная)
возвращает текстовую версию заданного кода ошибки
(функция)
C documentation для perror