如何获取errno值(C语言)的错误消息?例如,我可以编写这样的文件(errno_messages.h):
#include <errno.h>
char* get_errno_message(void){
switch (errno) {
case 0:
return "";
break;
case EPERM:
return "Operation not permitted";
break;
case ENOENT:
return "No such file or directory";
break;
case ESRCH:
return "No such process";
break;
/* e.t.c. */
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但也许这种功能已经存在?
最好的祝福
除了 strerror() 之外,一个有用的函数是 perror,它也可以直接打印带有给定前缀的错误。通常,您会想做类似的事情
int fd = open(文件名, O_READ);
如果(fd<0){
错误(文件名);
退出(EXIT_FAILURE);
}