Пространства имён
Варианты
Действия

std::strerror

Материал из cppreference.com

 
 
 
Однобайтовые строки с завершающим нулём
Функции
Манипуляции с символами
Преобразование в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Манипуляции со строками
Проверка строки
Манипуляции с памятью
Разное
strerror
 
Определено в заголовочном файле <cstring>
char* strerror( int errnum );
Возвращает текстовую версию кода ошибки errnum. errnum, как правило, приобретенных у errno переменной, однако функция принимает любое значение типа int. сообщение локали.
Оригинал:
Returns text version of the error code errnum. errnum is usually acquired from the errno variable, however the function accepts any value of type int. The message is locale-specific.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
вернулся байт строки не должна быть изменена программой, но может быть перезаписана при последующих вызовах функции strerror.
Оригинал:
The returned byte string must not be modified by the program, but may be overwritten by a subsequent call to the strerror function.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

Параметры

errnum -
интегральное значение ссылаясь на ошибку код
Оригинал:
integral value referring to a error code
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возврат стоимости

Указатель на завершающуюся нулем байтов строку, соответствующую коду ошибки errnum.
Оригинал:
Pointer to a null-terminated byte string corresponding to the error code errnum.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Пример

#include <cerrno>
#include <clocale>
#include <cmath>
#include <cstring>
#include <iostream>
 
int main()
{
    const double not_a_number = std::log(-1.0);
    std::cout << not_a_number << '\n';
 
    if (errno == EDOM)
    {
        std::cout << "Сбой log(-1): " << std::strerror(errno) << '\n';
        std::setlocale(LC_MESSAGES, "de_DE.utf8");
        std::cout << "Или, на Немецком, " << std::strerror(errno) << '\n';
    }
}

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

nan
Сбой log(-1): Numerical argument out of domain
Или, на Немецком, Das numerische Argument ist ausserhalb des Definitionsbereiches

См. также

Шаблон:cpp/error/dcl list errno macros