फाइल रिकॉर्ड्स का संग्रह है या हार्ड डिस्क पर एक स्थान है जहां डेटा स्थायी रूप से संग्रहीत होता है।
फाइलों की आवश्यकता
प्रोग्राम समाप्त होने पर पूरा डेटा खो जाता है।
फाइल में स्टोर करने पर डेटा प्रोग्राम समाप्त होने के बाद भी सुरक्षित रहता है।
बड़ी मात्रा में डेटा दर्ज करने में आमतौर पर बहुत समय लगता है।
हम कुछ कमांड का उपयोग करके फाइलों की सामग्री को आसानी से एक्सेस कर सकते हैं।
आप अपने डेटा को बिना किसी बदलाव के एक कंप्यूटर से दूसरे में आसानी से ले जा सकते हैं।
C कमांड का उपयोग करके, हम विभिन्न तरीकों से फाइलों को एक्सेस कर सकते हैं।
फाइलों पर ऑपरेशन्स
C प्रोग्रामिंग भाषा में फाइलों पर ऑपरेशन्स निम्नलिखित हैं:
- फाइल का नामकरण
- फाइल खोलना
- फाइल से पढ़ना
- फाइल में लिखना
- फाइल बंद करना
सिंटैक्स
फाइल पॉइंटर घोषित करने का सिंटैक्स निम्नलिखित है:
FILE *File pointer;
उदाहरण के लिए, FILE * fptr;
फाइल पॉइंटर का नामकरण और खोलना का सिंटैक्स निम्नलिखित है:
File pointer = fopen("File name", "mode");
उदाहरण के लिए,
FILE *fp;
fp = fopen("sample.txt", "w");
प्रोग्राम 1
n छात्रों का नाम और अंक पढ़कर फाइल में स्टोर करने के लिए C प्रोग्राम निम्नलिखित है:
#include <stdio.h>
int main(){
char name[50];
int marks, i, num;
printf("Enter number of students: ");
scanf("%d", &num);
FILE *fptr;
fptr = (fopen("std.txt", "w")); // राइट मोड में फाइल खोलना
if(fptr == NULL){
printf("Error!");
exit(1);
}
for(i = 0; i < num; ++i){
printf("For student%d\nEnter name: ", i+1);
scanf("%s", name);
printf("Enter marks: ");
scanf("%d", &marks);
fprintf(fptr, "\nName: %s \nMarks=%d \n", name, marks);
}
fclose(fptr);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम चलाया जाता है, तो यह निम्नलिखित परिणाम देता है:
Enter number of students: 3 For student1 Enter name: lucky Enter marks: 59 For student2 Enter name: pinky Enter marks: 89 For student3 Enter name: bob Enter marks: 45
प्रोग्राम 2
कर्मचारी का विवरण फाइल में स्टोर करने और प्रिंट करने के लिए C प्रोग्राम निम्नलिखित है:
#include<stdio.h>
int main(){
FILE *fp;
int eno;
char ename[30];
float sal;
fp = fopen("emp.txt", "w"); // राइट मोड में फाइल खोलना
printf("enter the details of eno, ename, sal:");
scanf("%d%s%f", &eno, ename, &sal);
fprintf(fp, "%d%s%f", eno, ename, sal);
fclose(fp);
fp = fopen("emp.txt", "r");
fscanf(fp, "%d%s%f", &eno, ename, &sal);
printf("employee no: = %d\n", eno);
printf("employee name = %s\n", ename);
printf("salary = %f\n", sal);
fclose(fp);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम चलाया जाता है, तो यह निम्नलिखित परिणाम देता है:
enter the details of eno, ename, sal: 1 Pinky 34000 employee no: = 1 employee name = Pinky salary = 34000.000000