फाइल रिकॉर्ड्स का संग्रह है या हार्ड डिस्क पर एक स्थान है जहां डेटा स्थायी रूप से संग्रहीत होता है।
फाइलों पर ऑपरेशन्स
C प्रोग्रामिंग भाषा में फाइलों पर ऑपरेशन्स निम्नलिखित हैं:
- फाइल का नामकरण
- फाइल खोलना
- फाइल से पढ़ना
- फाइल में लिखना
- फाइल बंद करना
सिंटैक्स
फाइल खोलने का सिंटैक्स निम्नलिखित है:
FILE *File pointer;
उदाहरण के लिए, FILE * fptr;
फाइल का नामकरण करने का सिंटैक्स निम्नलिखित है:
File pointer = fopen("File name", "mode");
उदाहरण के लिए,
fptr = fopen("sample.txt", "r");
FILE *fp;
fp = fopen("sample.txt", "w");
फाइलों में एरर हैंडलिंग
फाइलों में कुछ त्रुटियां निम्नलिखित हैं:
- फाइल के अंत से आगे पढ़ने का प्रयास।
- डिवाइस ओवरफ्लो।
- अमान्य फाइल खोलने का प्रयास।
- फाइल को अलग मोड में खोलकर अमान्य ऑपरेशन करना।
ferror( )
यह रीड/राइट ऑपरेशन करते समय त्रुटि का पता लगाने के लिए उपयोग किया जाता है।
ferror() फंक्शन का सिंटैक्स निम्नलिखित है:
सिंटैक्स
int ferror(file pointer);
उदाहरण के लिए,
उदाहरण
FILE *fp;
if (ferror(fp)) printf("error has occurred");
यह सफल होने पर शून्य लौटाता है, अन्यथा नॉन-जीरो।
प्रोग्राम
ferror() फंक्शन का उपयोग करने के लिए C प्रोग्राम निम्नलिखित है:
#include<stdio.h>
int main(){
FILE *fptr;
fptr = fopen("sample.txt", "r");
if(ferror(fptr) != 0)
printf("error occurred");
putc('T', fptr);
if(ferror(fptr) != 0)
printf("error occurred");
fclose(fptr);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम चलाया जाता है, तो यह निम्नलिखित परिणाम देता है:
error occurred Note: रीड मोड में फाइल में लिखने का प्रयास करने पर त्रुटि होती है।
perror ( )
यह त्रुटि प्रिंट करने के लिए उपयोग किया जाता है।
perror() फंक्शन का सिंटैक्स निम्नलिखित है:
सिंटैक्स
perror(string variable);
उदाहरण के लिए,
उदाहरण
FILE *fp; char str[30] = "Error is"; perror(str);
आउटपुट निम्नलिखित है:
Error is: error 0
प्रोग्राम
perror() फंक्शन का उपयोग करने के लिए C प्रोग्राम निम्नलिखित है:
#include<stdio.h>
int main(){
FILE *fp;
char str[30] = "error is";
int i = 20;
fp = fopen("sample.txt", "r");
if (fp == NULL){
printf("file doesnot exist");
}
else{
fprintf(fp, "%d", i);
if (ferror(fp)){
perror(str);
printf("error since file is opened for reading only");
}
}
fclose(fp);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम चलाया जाता है, तो यह निम्नलिखित परिणाम देता है:
error is: Bad file descriptor error since file is opened for reading only
feof( )
यह जांचने के लिए उपयोग किया जाता है कि क्या फाइल का अंत पहुंच गया है या नहीं।
feof() फंक्शन का सिंटैक्स निम्नलिखित है:
सिंटैक्स
int feof(file pointer);
उदाहरण के लिए,
उदाहरण
FILE *fp;
if (feof(fp)) printf("reached end of the file");
यह सफल होने पर नॉन-जीरो लौटाता है, अन्यथा शून्य।
प्रोग्राम
feof() फंक्शन का उपयोग करने के लिए C प्रोग्राम निम्नलिखित है:
#include<stdio.h>
main(){
FILE *fp;
int i, n;
fp = fopen("number.txt", "w");
for (i=0; i<=100; i=i+10){
putw(i, fp);
}
fclose(fp);
fp = fopen("number.txt", "r");
printf("file content is");
for (i=0; i<=100; i++){
n = getw(fp);
if (feof(fp)){
printf("reached end of file");
break;
} else {
printf("%d", n);
}
}
fclose(fp);
getch();
}
आउटपुट
जब उपरोक्त प्रोग्राम चलाया जाता है, तो यह निम्नलिखित परिणाम देता है:
File content is 10 20 30 40 50 60 70 80 90 100 Reached end of the file.