C में फाइल में लिखने के लिए fwrite() और fread() का उपयोग किया जाता है।
fwrite() सिंटैक्स
fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
जहां
- ptr - लिखे जाने वाले एलिमेंट्स की सरणी का पॉइंटर
- size - लिखे जाने वाले प्रत्येक एलिमेंट का आकार बाइट्स में
- nmemb - एलिमेंट्स की संख्या, प्रत्येक का आकार बाइट्स में
- stream - एक FILE ऑब्जेक्ट का पॉइंटर जो आउटपुट स्ट्रीम निर्दिष्ट करता है
fread() सिंटैक्स
fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
जहां
- ptr - size*nmemb बाइट्स के न्यूनतम आकार के साथ मेमोरी ब्लॉक का पॉइंटर
- size - पढ़े जाने वाले प्रत्येक एलिमेंट का आकार बाइट्स में
- nmemb - एलिमेंट्स की संख्या, प्रत्येक का आकार बाइट्स में
- stream - एक FILE ऑब्जेक्ट का पॉइंटर जो इनपुट स्ट्रीम निर्दिष्ट करता है
एल्गोरिदम
Begin
Student स्ट्रक्चर बनाएं वेरिएबल्स घोषित करने के लिए
फाइल को लिखने के लिए खोलें
फाइल खोलने में कोई त्रुटि है तो चेक करें
वेरिएबल्स को डेटा से इनिशियलाइज़ करें
यदि फाइल सफलतापूर्वक खुलती है, तो write मेथड का उपयोग करके स्ट्रक्चर लिखें
फाइल को लिखने के लिए बंद करें
फाइल को पढ़ने के लिए खोलें
फाइल खोलने में कोई त्रुटि है तो चेक करें
यदि फाइल सफलतापूर्वक खुलती है, तो read मेथड का उपयोग करके फाइल पढ़ें
फाइल को पढ़ने के लिए बंद करें
कोई त्रुटि है तो चेक करें
डेटा प्रिंट करें
End.
उदाहरण कोड
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Student {
int roll_no;
char name[20];
};
int main() {
FILE *of;
of = fopen("c1.txt", "w");
if (of == NULL) {
fprintf(stderr, "\nError to open the file\n");
exit(1);
}
struct Student inp1 = {1, "Ram"};
struct Student inp2 = {2, "Shyam"};
fwrite(&inp1, sizeof(struct Student), 1, of);
fwrite(&inp2, sizeof(struct Student), 1, of);
if(fwrite != 0)
printf("Contents to file written successfully!\n");
else
printf("Error writing file!\n");
fclose(of);
FILE *inf;
struct Student inp;
inf = fopen("c1.txt", "r");
if (inf == NULL) {
fprintf(stderr, "\nError to open the file\n");
exit(1);
}
while(fread(&inp, sizeof(struct Student), 1, inf))
printf("roll_no = %d name = %s\n", inp.roll_no, inp.name);
fclose(inf);
}
आउटपुट
Contents to file written successfully! roll_no = 1 name = Ram roll_no = 2 name = Shyam