std:: perror
From cppreference.net
C++
Input/output library
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
C-style I/O
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<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
|
|