📜  C++ strerror()

📅  最后修改于: 2020-09-25 09:10:43             🧑  作者: Mango

C++中的strerror() 函数返回系统错误代码的文本描述。

strerror()原型

char* strerror( int errnum );

strerror()具有一个参数: errnum ,它是一个表示错误代码的整数值。此函数将错误代码转换为描述错误的合适字符串 。

strerror()返回的描述与perror()相同。返回的字符串不得由程序修改。但是随后的调用strerror()可能会覆盖它。

它在头文件中定义。

strerror()参数

errnum :表示错误代码的整数值。

strerror()返回值

strerror() 函数返回一个指向以null终止的字符串的指针,该字符串包含对应于errnum的错误的描述。

示例:strerror() 函数的工作方式

#include 
#include 
#include 
#include 
#include 

using namespace std;

int main()
{
    float log_neg = log(-2.5);
    cout << "Log of negative number : " << strerror(errno) << endl;

    /* example.txt does not exist */
    FILE * fp = fopen("example.txt","r");
    if (fp == NULL)
        cout << "Error opening file : " << strerror(errno) << endl;

    return 0;
}

运行该程序时,输出为:

Log of negative number : Numerical argument out of domain
Error opening file : No such file or directory