File Handling का मतलब है कंप्यूटर फाइलों (जैसे टेक्स्ट फाइल, बाइनरी फाइल) को पढ़ना, लिखना और मैनेज करना। C भाषा में यह बहुत जरूरी टॉपिक है क्योंकि हम डाटा को स्थायी रूप से सेव करने के लिए फाइलों का उपयोग करते हैं।
अगर हम प्रोग्राम में डाटा सिर्फ मेमोरी (RAM) में रखें, तो प्रोग्राम बंद होते ही डाटा खो जाएगा। फाइलों में डाटा सेव करने से हमारा डाटा कंप्यूटर में सुरक्षित रहता है और बाद में उपयोग किया जा सकता है।
FILE
नाम का डाटा टाइप होता है, जो फाइल के मेमोरी लोकेशन को पॉइंट करता है।fopen()
फंक्शन इस्तेमाल होता है।fclose()
का उपयोग होता है।fgetc()
, fgets()
, fread()
आदि और लिखने के लिए fputc()
, fputs()
, fwrite()
आदि फंक्शन होते हैं।Mode | Description |
---|---|
"r" | Read – फाइल पढ़ने के लिए खोलना |
"w" | Write – नई फाइल बनाने या ओवरराइट करने के लिए |
"a" | Append – फाइल के अंत में डाटा जोड़ने के लिए |
"r+" | Read और Write दोनों के लिए |
"w+" | Read और Write (नई फाइल बनाए या ओवरराइट करे) |
"a+" | Read और Append के लिए |
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("example.txt", "w"); // "w" mode में फाइल खोलो (लिखने के लिए)
if (fp == NULL) {
printf("File नहीं खुल सकी।\n");
return 1;
}
fprintf(fp, "यह पहली लाइन है।\n");
fprintf(fp, "यह दूसरी लाइन है।\n");
fclose(fp);
printf("डाटा फाइल में सफलतापूर्वक लिखा गया।\n");
return 0;
}
Explanation: यह प्रोग्राम example.txt नाम की फाइल बनाता है और उसमें दो लाइनें लिखता है। अगर फाइल नहीं खुलती, तो error मैसेज दिखाता है।
#include <stdio.h>
int main() {
FILE *fp;
char ch;
fp = fopen("example.txt", "r"); // "r" mode में फाइल खोलो (पढ़ने के लिए)
if (fp == NULL) {
printf("File नहीं खुल सकी।\n");
return 1;
}
printf("File की सामग्री:\n");
while ((ch = fgetc(fp)) != EOF) {
printf("%c", ch);
}
fclose(fp);
return 0;
}
Explanation: यह प्रोग्राम example.txt फाइल से एक-एक कर character पढ़ता है और स्क्रीन पर दिखाता है जब तक फाइल खत्म न हो जाए।
#include <stdio.h>
int main() {
FILE *fp;
char line[100];
fp = fopen("example.txt", "r");
if (fp == NULL) {
printf("File नहीं खुल सकी।\n");
return 1;
}
printf("File की लाइनें:\n");
while (fgets(line, sizeof(line), fp)) {
printf("%s", line);
}
fclose(fp);
return 0;
}
Explanation: यह प्रोग्राम फाइल से लाइन दर लाइन पढ़ता है और हर लाइन को प्रिंट करता है।
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("example.txt", "a"); // "a" mode में फाइल खोलो (append के लिए)
if (fp == NULL) {
printf("File नहीं खुल सकी।\n");
return 1;
}
fprintf(fp, "यह एक नई लाइन है जो फाइल में जोड़ी गई है।\n");
fclose(fp);
printf("डाटा सफलतापूर्वक जोड़ा गया।\n");
return 0;
}
Explanation: यह प्रोग्राम फाइल में नए डाटा को उसके अंत में जोड़ता है, मौजूदा डाटा को मिटाए बिना।
Binary फाइलों में हम raw data लिखते और पढ़ते हैं, जैसे images, videos या अन्य non-text data।
#include <stdio.h>
int main() {
FILE *fp;
int numbers[5] = {10, 20, 30, 40, 50};
// बाइनरी फाइल में लिखना
fp = fopen("data.bin", "wb");
if (fp == NULL) {
printf("File नहीं खुल सकी।\n");
return 1;
}
fwrite(numbers, sizeof(int), 5, fp);
fclose(fp);
// बाइनरी फाइल से पढ़ना
int read_numbers[5];
fp = fopen("data.bin", "rb");
if (fp == NULL) {
printf("File नहीं खुल सकी।\n");
return 1;
}
fread(read_numbers, sizeof(int), 5, fp);
fclose(fp);
printf("फाइल से पढ़े गए नंबर:\n");
for(int i=0; i<5; i++) {
printf("%d ", read_numbers[i]);
}
return 0;
}
Explanation: यह प्रोग्राम एक integer array को binary फाइल में लिखता है और फिर उसे पढ़कर स्क्रीन पर प्रिंट करता है।
NULL
चेक करें ताकि पता चले कि फाइल सही से खुली है या नहीं।fclose()
करना जरूरी है।fread()
और fwrite()
का सही तरीके से उपयोग करें।C में File Handling programming के लिए बहुत जरूरी टॉपिक है। इससे हम डाटा को स्थायी रूप से सेव, पढ़ और संशोधित कर सकते हैं। इसका सही उपयोग कर आप कई real-world applications जैसे टेक्स्ट एडिटर, गेम, और डेटा बेस बना सकते हैं।