首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::strerror

Defined in header <cstring>

char* strerror( int errnum );

返回指向系统错误代码文本描述的指针。errnum,与将由perror()...

errnum通常是从errno变量,但是该函数接受任何类型的值。int字符串的内容是特定于地区的。

返回的字符串不能被程序修改,但可以通过随后对strerror功能。strerror不需要线程安全。实现可能会将不同的指针返回到静态只读字符串文本,也可能会一次又一次地返回相同的指针,指向一个静态缓冲区,其中strror将字符串放置在其中。

参数

errnum

-

integral value referring to a error code

返回值

指针指向一个以空结尾的字节字符串,该字符串对应于errno错误码errnum...

注记

POSIX允许后续调用strerror若要使先前调用返回的指针值无效,请执行以下操作。它还指定它是LC_MESSAGES控制这些消息内容的locale方面。

二次

代码语言:javascript
复制
#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';
    }
}

二次

可能的产出:

二次

代码语言:javascript
复制
log(-1) failed: Numerical argument out of domain
Or, in German, Das numerische Argument ist ausserhalb des Definitionsbereiches

二次

另见

perror

displays a character string corresponding of the current error to stderr (function)

E2BIG, EACCES, ..., EXDEV

macros for standard POSIX-compatible error conditions (macro constant)

c关于strror的文档

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券