sys_errlist由errno索引并包含相应的错误消息。我在哪里可以看到此列表的内容?
答案 0 :(得分:5)
可能在<errno.h>
以某种方式包含的某些系统头文件中。如果您想打印其完整内容,可以使用小程序轻松完成:
#include <errno.h>
#include <stdio.h>
int main()
{
for(int i=0; i<sys_nerr; i++)
printf("sys_errlist[%d] = \"%s\"\n", i, sys_errlist[i]);
return 0;
}
(sys_nerr
定义为sys_errlist
)
但请记住,根据我的联机帮助页,perror
或strerror
应该首选,因为
新的错误值可能尚未添加到
sys_errlist[]
。
答案 1 :(得分:4)
已弃用,您应使用 strerror
答案 2 :(得分:1)
作为
man sys_errlist
告诉我:
sys_errlist
是包含消息的数组sys_nerr
包含sys_errlist
中的邮件数量,因此您可以访问从0
到sys_nerr-1
sys_errlist
已弃用,请改为使用strerror()
或strerror_r()
答案 3 :(得分:1)
标题中的实际错误定义位于两个文件/usr/include/asm-generic/errno-base.h和/usr/include/asm-generic/errno.h
答案 4 :(得分:0)