2011-09-29 3 views
3

Я ищу API для преобразования целого числа errno в его имя.Linux, конвертировать errno на имя

Например:

int fd; 
if((fd = open(path, O_RDONLY)) == -1) 
    printf("error: %d %s %s\n", errno, strerror(errno) ERRNONAME(errno)); 

Так, ERRNONAME даст имя, например EINVAL, EPERM и т.д. Возможно ли это?

+1

Возможный дубликат [Как преобразовать errno в UNIX в соответствующую строку?] (Http://stackoverflow.com/questions/1546882/how-to-convert-errno-in- Unix к соответствующей строке) – hammar

ответ

4

Эти имена существуют как макросы в файле Errno.h. Нет стандартного вызова для преобразования номера ошибки в короткий код. Вы можете создать свою собственную таблицу ...