समस्या
सी कंपाइलर कैसे पता लगाता है कि फाइल पढ़ने के दौरान अंत तक पहुंच गई थी? एक प्रोग्राम के साथ समझाएं।
समाधान
feof () सी भाषा में एक फाइल हैंडलिंग फंक्शन है, जिसका उपयोग फाइल के अंत को खोजने के लिए किया जाता है।
फ़ाइल का अंत खोजने के लिए हमने जिस तर्क का उपयोग किया है वह इस प्रकार है -
fp = fopen ("number.txt", "r"); //open a file
printf ("file content is\n");
for (i=0;i<=100;i++){
n = getw(fp); //read each number and store in n
if(feof(fp)) {//if file pointer reach to end it will break
printf ("reached end of file");
break;
} else {
printf ("%d\t", n);
}
} उदाहरण
Feof() फ़ंक्शन के लिए C प्रोग्राम निम्नलिखित है -
#include<stdio.h>
int 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\n");
for (i=0;i<=100;i++){
n = getw(fp);
if(feof(fp)){
printf ("reached end of file");
break;
} else {
printf ("%d\t", n);
}
}
return 0;
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
file content is 0 10 20 30 40 50 60 70 80 90 100 reached end of file