फाइलों में होने वाली कुछ त्रुटियां नीचे सूचीबद्ध हैं -
- फ़ाइल के अंत से आगे पढ़ने की कोशिश कर रहा है।
- डिवाइस ओवर फ्लो।
- अमान्य फ़ाइल खोलने का प्रयास कर रहा है।
- एक फ़ाइल को किसी भिन्न मोड में खोलकर एक अमान्य कार्रवाई की जाती है।
त्रुटि प्रबंधन के लिए कार्य
त्रुटि प्रबंधन के कार्य इस प्रकार हैं -
- आतंक ( )
- आतंक ( )
- फीओफ ( )
भय ( )
यह पढ़ने या लिखने के संचालन के दौरान त्रुटि का पता लगाने के लिए है।
वाक्य रचना इस प्रकार है -
int ferror (file pointer);
उदाहरण के लिए,
FILE *fp; if (ferror (fp)) printf ("error has occurred”);
सफल होने पर यह शून्य लौटाता है और अन्य मामलों में शून्य के रूप में वापस आता है।
आतंक ( )
इसका उपयोग किसी त्रुटि को प्रिंट करने के लिए किया जाता है।
यह उस स्ट्रिंग को दिखाता है जो इसे पास करती है, जिसके बाद एक कोलन, एक स्पेस और वर्तमान त्रुटि मान का टेक्स्ट प्रतिनिधित्व होता है।
वाक्य रचना इस प्रकार है -
perror (string variable);
उदाहरण के लिए,
FILE *fp; char str[30] = ”Error is”; perror (str);
आउटपुट
Error is: error 0
उदाहरण
आतंक ( ) . के उपयोग के लिए C प्रोग्राम निम्नलिखित है और आतंक ( ) समारोह -
#include<stdio.h> main ( ){ FILE *fp; char str[30] = "error is"; int i = 20; clrscr ( ); fp = fopen ("sample. txt", "r"); if (fp = = NULL){ printf ("file doesnot exist"); } else { fprintf (fp, "%d", i); if (ferror (fp)){ perror (str); printf ("error "); } fclose (fp); getch ( ); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Error is: Error1 compiler generated. Error.
फीओफ ( )
इसका उपयोग यह जांचने के लिए किया जाता है कि फ़ाइल का अंत हो गया है या नहीं।
वाक्य रचना इस प्रकार है -
int feof ( file pointer);
उदाहरण के लिए,
FILE *fp; if (feof (fp)) printf ("reached end of the file");
यदि यह एक गैर-शून्य लौटाता है, तो यह सफलता है। अन्यथा, यह शून्य है।
उदाहरण
feof ( ) . के उपयोग के लिए C प्रोग्राम निम्नलिखित है समारोह -
#include<stdio.h> main ( ){ FILE *fp; int i,n; clrscr ( ); fp = fopen ("number. txt", "w"); for (i=0; i<=100;i= i+10){ putw (i, fp); } fclose (fp); fp = fopen ("number. txt", "r"); printf ("file content is”); for (i=0; i<=100; i++){ n = getw (fp); if (feof (fp)){ printf ("reached end of file"); break; } else{ printf ("%d", n); } } fclose (fp); getch ( ); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
File content is 10 20 30 40 50 60 70 80 90 100 Reached end of the file.