strerror函数
strerror 是C语言中的一个函数,用于将指定的错误码转换为相应的错误信息字符串。它接受一个整数参数,通常是在系统调用或库函数返回错误码时使用。
源定义:
char *strerror(int errnum);
errnum 参数是一个整数,代表特定的错误码。strerror 函数会根据错误码返回相应的错误信息字符串。它会根据错误码在系统的错误码表中查找对应的错误信息,并将其作为字符串返回。
事例
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main() {
int err = 2;
char *errstr = strerror(err);
printf("错误码 %d 对应的错误信息: %s\n", err, errstr);
printf("最近一次系统调用错误的错误信息: %s\n", strerror(errno));
return 0;
}
事例结果
错误码 2 对应的错误信息: No such file or directory
最近一次系统调用错误的错误信息: No such file or directory
注意,strerror 函数是线程安全的,它返回的错误信息字符串是静态分配的,不需要手动释放内存。