Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C भाषा में फाइल एरर हैंडलिंग तकनीकें

सामान्य फाइल एरर्स

  • फाइल के अंत से आगे पढ़ने का प्रयास।
  • डिवाइस ओवरफ्लो।
  • अमान्य फाइल खोलने का प्रयास।
  • गलत मोड में फाइल खोलकर ऑपरेशन करना।

एरर हैंडलिंग फंक्शन्स

  • ferror(): रीड/राइट ऑपरेशन में एरर डिटेक्ट करता है।
  • perror(): एरर मैसेज प्रिंट करता है।
  • feof(): फाइल के अंत तक पहुंचने की जांच करता है।

ferror()

सिंटैक्स: int ferror(FILE *fp);

सफलता पर 0 लौटाता है, एरर पर नॉन-जीरो।

FILE *fp;
if (ferror(fp))
    printf("Error occurred");

perror()

सिंटैक्स: perror(string_variable);

दिए गए स्ट्रिंग के बाद कोलन, स्पेस और वर्तमान एरर का टेक्स्ट प्रिंट करता है।

FILE *fp;
char str[30] = "Error is";
perror(str);

आउटपुट: Error is: Error 0

feof()

सिंटैक्स: int feof(FILE *fp);

फाइल का अंत पहुंचने पर नॉन-जीरो लौटाता है, अन्यथा 0।

FILE *fp;
if (feof(fp))
    printf("Reached end of file");

पूर्ण प्रोग्राम उदाहरण

ferror() और perror() का उपयोग

#include <stdio.h>

int main() {
    FILE *fp;
    char str[30] = "error is";
    int i = 20;
    fp = fopen("sample.txt", "r");
    if (fp == NULL) {
        printf("File does not exist");
    } else {
        fprintf(fp, "%d", i); // रीड-ओनली मोड में लिखने का प्रयास -> एरर
        if (ferror(fp)) {
            perror(str);
            printf("Error");
        }
        fclose(fp);
    }
    return 0;
}

आउटपुट

Error is: Error 1 compiler generated. Error.

feof() का उपयोग

#include <stdio.h>

int main() {
    FILE *fp;
    int i, n;
    fp = fopen("number.txt", "w");
    for (i = 0; i <= 100; i += 10)
        putw(i, fp);
    fclose(fp);
    fp = fopen("number.txt", "r");
    printf("File content: ");
    while (1) {
        n = getw(fp);
        if (feof(fp)) {
            printf("\nReached end of file");
            break;
        } else {
            printf("%d ", n);
        }
    }
    fclose(fp);
    return 0;
}

आउटपुट

File content: 10 20 30 40 50 60 70 80 90 100
Reached end of file
  1. C भाषा में हाई-लेवल I/O फंक्शन्स C भाषा में हाई-लेवल I/O फंक्शन्स

    I/O फंक्शन्स के प्रकार हाई-लेवल I/O: मनुष्यों द्वारा आसानी से समझा जाता है, पोर्टेबल होता है। लो-लेवल I/O: कंप्यूटर द्वारा समझा जाता है, तेज़ होता है लेकिन नॉन-पोर्टेबल। हाई-लेवल I/O फंक्शन्स की सूची फंक्शनविवरण fprintf()फाइल में डेटा लिखना fscanf()फाइल से डेटा पढ़ना putc() / fputc()फाइल में कै

  1. C भाषा में शिफ्ट ऑपरेशन क्या हैं? C भाषा में शिफ्ट ऑपरेशन क्या हैं?

    समस्या C भाषा का उपयोग करके किसी संख्या के बाएं शिफ्ट, दाएं शिफ्ट और कॉम्प्लीमेंट को दिखाने का सरल प्रोग्राम क्या है? समाधान बाएं शिफ्ट (Left Shift) यदि किसी वेरिएबल का मान एक बार बाएं शिफ्ट किया जाता है, तो उसका मान दोगुना हो जाता है। उदाहरण के लिए, a = 10, तो a<<1 = 20 दाएं शिफ्ट (Right Sh

  1. C भाषा में खोज तकनीकें (Searching Techniques) C भाषा में खोज तकनीकें (Searching Techniques)

    खोज (Searching) का परिचय खोज तकनीक का अर्थ है किसी सूची में किसी कुंजी तत्व (key element) को ढूंढना। यदि तत्व मिल जाता है तो खोज सफल (successful), अन्यथा असफल (unsuccessful) होती है। C में दो प्रमुख खोज तकनीकें रैखिक खोज (Linear Search) द्विआधारी खोज (Binary Search) 1. रैखिक खोज (Linear Search)