2012-09-30 54 views
8

मैं इरनो मूल्य (सी भाषा) के लिए त्रुटि संदेश कैसे प्राप्त कर सकता हूं? उदाहरण के लिए, मैं ऐसी फ़ाइल लिख सकता हूं (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; 
    } 
} 

लेकिन शायद ऐसा फ़ंक्शन पहले से मौजूद है?

बेस्ट सादर

उत्तर

13

मुझे लगता है कि आप जो खोज रहे हैं strerror() है।

+0

बहुत बहुत धन्यवाद! –

3

स्ट्रेरर() के अलावा, एक उपयोगी फ़ंक्शन पेरर होता है जो सीधे दिए गए उपसर्ग के साथ त्रुटि को प्रिंट करता है। अक्सर, आप कुछ करना चाहते हैं जैसे

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

बहुत बहुत धन्यवाद! –