खोज…


वाक्य - विन्यास

  • # अलग करें <ढ्डह्म>
  • इंट इरनो; / * कार्यान्वयन परिभाषित * /
  • # अलग करें <string.h>
  • char * strerror (int misnum);
  • # अलग <stdio.h>
  • void पेरोर (const char * s);

टिप्पणियों

ध्यान रखें कि errno जरूरी नहीं कि एक वैरिएबल है, लेकिन सिंटैक्स केवल एक संकेत है कि इसे कैसे घोषित किया जा सकता है । थ्रेड इंटरफेस के साथ कई आधुनिक प्रणालियों पर errno कुछ मैक्रो है जो एक ऑब्जेक्ट को हल करता है जो वर्तमान थ्रेड के लिए स्थानीय है।

errno

जब कोई मानक लाइब्रेरी फ़ंक्शन विफल होता है, तो यह अक्सर ग़लती से उपयुक्त त्रुटि कोड सेट करता है। C मानक के लिए ग़लती के लिए कम से कम 3 मानों की आवश्यकता होती है:

मूल्य अर्थ
EDOM डोमेन त्रुटि
ERANGE सीमा त्रुटि
EILSEQ अवैध मल्टी-बाइट चरित्र अनुक्रम

strerror

यदि perror पर्याप्त लचीला नहीं है, तो आप <string.h> strerror <string.h> से strerror को कॉल करके उपयोगकर्ता-पठनीय त्रुटि विवरण प्राप्त कर सकते हैं।

int main(int argc, char *argv[])
{
    FILE *fout;
    int last_error = 0;

    if ((fout = fopen(argv[1], "w")) == NULL) {
        last_error = errno;
         /* reset errno and continue */
         errno = 0;
    }

    /* do some processing and try opening the file differently, then */


    if (last_error) {
        fprintf(stderr, "fopen: Could not open %s for writing: %s", 
                argv[1], strerror(last_error));
        fputs("Cross fingers and continue", stderr);
    }

    /* do some other processing */

    return EXIT_SUCCESS;
}

perror

उपयोगकर्ता-पठनीय त्रुटि संदेश को stderr प्रिंट करने के लिए, perror को <stdio.h> से कॉल करें।

int main(int argc, char *argv[])
{
   FILE *fout;

   if ((fout = fopen(argv[1], "w")) == NULL) {
      perror("fopen: Could not open file for writing");
      return EXIT_FAILURE;
   }
return EXIT_SUCCESS;
}

इस के वर्तमान मूल्य के विषय में एक त्रुटि संदेश प्रिंट होगा errno



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow