std::strerror

来自cppreference.com
< cpp‎ | string‎ | byte

定义于头文件 <cstring>
char* strerror( int errnum );
返回的错误代码的文本版本errnumerrnum的收购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.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
。返回的字节字符串不能被修改通过该程序,但可能会被覆盖的后续调用strerror功能
原文:
The returned byte string must not be modified by the program, but may be overwritten by a subsequent call to the strerror function.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 。参数。

errnum -
。积分值指的是一个错误代码。
原文:
integral value referring to a error code
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

===。 返回值。===

。指针指向一个空终止字节的字符串对应的错误代码errnum.
原文:
Pointer to a null-terminated byte string corresponding to the error code errnum.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 。为例。

#include <iostream>
#include <cmath>
#include <cerrno>
#include <cstring>
#include <clocale>
 
int main()
{
    double not_a_number = std::log(-1.0);
    if (errno == EDOM) {
        std::cout << "log(-1) failed: " << std::strerror(errno) << '\n';
        std::setlocale(LC_MESSAGES, "de_DE.utf8");
        std::cout << "Or, in German, " << std::strerror(errno) << '\n';
    }
}

可能的输出:

log(-1) failed: Numerical argument out of domain
Or, in German, Das numerische Argument ist ausserhalb des Definitionsbereiches

[编辑] 。另请参阅。

兼容标准 POSIX 的错误条件的宏
(宏常量) [编辑]
strerrorC 文档