फ़ाइल रिकॉर्ड का संग्रह है या हार्ड डिस्क पर एक जगह है, जहां डेटा स्थायी रूप से संग्रहीत किया जाता है।
फ़ाइलों की आवश्यकता
-
किसी प्रोग्राम के समाप्त होने पर पूरा डेटा नष्ट हो जाता है।
-
फ़ाइल में संग्रहीत करना डेटा को सुरक्षित रखता है, भले ही प्रोग्राम समाप्त हो जाए।
-
यदि आप बड़ी मात्रा में डेटा दर्ज करना चाहते हैं, तो आम तौर पर उन सभी को दर्ज करने में बहुत समय लगता है।
-
हम कुछ कमांड का उपयोग करके फाइलों की सामग्री को आसानी से एक्सेस कर सकते हैं।
-
आप अपने डेटा को बिना किसी बदलाव के आसानी से एक कंप्यूटर से दूसरे कंप्यूटर पर ले जा सकते हैं।
-
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")); // opening file in write mode
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"); // opening file in write mode
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