यह दो फ़ाइलों की सामग्री को तीसरी फ़ाइल में मर्ज करने का C प्रोग्राम है।
इनपुट
java.txt में प्रारंभिक सामग्री "Java is a programing language." है
kotlin.txt में प्रारंभिक सामग्री "kotlin is a programing language." है
ttpoint.txt में प्रारंभिक सामग्री खाली है
आउटपुट
फ़ाइलें मर्ज हो गईं
ttpoint.txt में अंतिम सामग्री "Java is a programing language. kotlin is a programing language." होगी
एल्गोरिदम
शुरुआत
कैरेक्टर डेटाटाइप का a[] ऐरे घोषित करें
a[] = "Java is a programing language." इनिशियलाइज़ करें
integer डेटाटाइप का i घोषित करें
i = 0 इनिशियलाइज़ करें
FILE टाइप का f1 पॉइंटर घोषित करें
f1 पॉइंटर का उपयोग करके "java.txt" फ़ाइल को लिखने के लिए खोलें
while (a[i] != '\0')
fputc(a[i], f1) कॉल करके a[] का सारा डेटा f1 फ़ाइल ऑब्जेक्ट में डालें
i++
f1 फाइल पॉइंटर बंद करें
कैरेक्टर डेटाटाइप का b[] ऐरे घोषित करें
b[] = "kotlin is a programing language." इनिशियलाइज़ करें
integer डेटाटाइप का j घोषित करें
j = 0 इनिशियलाइज़ करें
FILE टाइप का f2 पॉइंटर घोषित करें
f2 पॉइंटर का उपयोग करके "kotlin.txt" फ़ाइल को लिखने के लिए खोलें
while (b[j] != '\0')
fputc(b[j], f2) कॉल करके b[] का सारा डेटा f2 फ़ाइल ऑब्जेक्ट में डालें
j++
f2 फाइल पॉइंटर बंद करें
f1 पॉइंटर का उपयोग करके "java.txt" फ़ाइल को पढ़ने के लिए खोलें
f2 पॉइंटर का उपयोग करके "ttpoint.txt" फ़ाइल को लिखने के लिए खोलें
FILE डेटाटाइप का f3 पॉइंटर घोषित करें
f3 पॉइंटर का उपयोग करके "ttpoint.txt" फ़ाइल को लिखने के लिए खोलें
कैरेक्टर डेटाटाइप का "c" वेरिएबल घोषित करें
if (f1 == NULL || f2 == NULL || f3 == NULL) तो
"फ़ाइल नहीं खोल सके" प्रिंट करें
बाहर निकलें
while ((c = fgetc(f1)) != EOF) करें
fputc() फ़ंक्शन का उपयोग करके "c" वेरिएबल का सारा डेटा f3 फाइल पॉइंटर में डालें
while ((c = fgetc(f2)) != EOF) करें
fputc() फ़ंक्शन का उपयोग करके "c" वेरिएबल का सारा डेटा f3 फाइल पॉइंटर में डालें
फाइल पॉइंटर बंद करने के लिए fclose(f3) फ़ंक्शन कॉल करें
f3 फाइल पॉइंटर का उपयोग करके ttpoint.txt फ़ाइल खोलें
"java.txt और python.txt को ttpoint.txt में मर्ज किया" प्रिंट करें
while (!feof(f3))
putchar(fgetc(f3)) फ़ंक्शन कॉल करके f3 फाइल पॉइंटर की सामग्री प्रिंट करें
f1 फाइल पॉइंटर बंद करें
f2 फाइल पॉइंटर बंद करें
f3 फाइल पॉइंटर बंद करें
समाप्ति
उदाहरण कोड
#include <stdio.h>
#include <stdlib.h>
int main() {
char a[] = "Java is a programing language.";
int i = 0;
FILE *f1;
f1 = fopen("java.txt", "w");
while (a[i] != '\0') {
fputc(a[i], f1);
i++;
}
fclose(f1);
char b[] = "kotlin is a programing language.";
int j = 0;
FILE *f2;
f2 = fopen("kotlin.txt", "w");
while (b[j] != '\0') {
fputc(b[j], f2);
j++;
}
fclose(f2);
f1 = fopen("java.txt", "r");
f2 = fopen("kotlin.txt", "r");
FILE *f3 = fopen("ttpoint.txt", "w"); // परिणाम स्टोर करने के लिए फ़ाइल खोलें
char c;
if (f1 == NULL || f2 == NULL || f3 == NULL) {
puts("फ़ाइलें नहीं खोल सके");
exit(0);
}
while ((c = fgetc(f1)) != EOF) // पहली फ़ाइल की सामग्री ttpoint.txt में कॉपी करें
fputc(c, f3);
while ((c = fgetc(f2)) != EOF) // दूसरी फ़ाइल की सामग्री ttpoint.txt में कॉपी करें
fputc(c, f3);
fclose(f3);
f3 = fopen("ttpoint.txt", "r");
printf("java.txt और kotlin.txt को ttpoint.txt में मर्ज किया\n");
while (!feof(f3))
putchar(fgetc(f3));
fclose(f1);
fclose(f2);
fclose(f3);
return 0;
}
आउटपुट
java.txt और kotlin.txt को ttpoint.txt में मर्ज किया
Java is a programing language.kotlin is a programing language.
सुधार सुझाव
- दोनों फ़ाइलों के बीच नई लाइन जोड़ें:
fputc('\n', f3); - बफर का उपयोग करके बड़ी फ़ाइलों के लिए परफॉर्मेंस सुधारें
- एरर हैंडलिंग को अधिक मजबूत बनाएं
बेहतर संस्करण
// बफर का उपयोग करके अधिक कुशल
char buffer[1024];
size_t bytes;
while ((bytes = fread(buffer, 1, sizeof(buffer), f1)) > 0)
fwrite(buffer, 1, bytes, f3);