2012-09-30 11 views
8

Jak mogę uzyskać komunikat o błędzie dla wartości errno (język C)? Na przykład, można napisać taki plik (errno_messages.h):Jak mogę uzyskać komunikat o błędzie dla wartości errno (język C)?

#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; 
    } 
} 

Ale może taka funkcja już istnieje?

Pozdrawiam

Odpowiedz

3

Oprócz strerror() użyteczną funkcją jest perror, który bezpośrednio wypisze błąd z danym prefiksem. Często będziesz chciał zrobić coś w rodzaju:

 
int fd = open(filename, O_READ); 
if (fd < 0) { 
    perror(filename); 
    exit(EXIT_FAILURE); 
} 
+0

Dziękuję bardzo! –

Powiązane problemy