সমস্যা
সি কম্পাইলার কিভাবে সনাক্ত করে যে ফাইলটি পড়ার সময় শেষ পর্যন্ত পৌঁছেছে? একটি প্রোগ্রাম দিয়ে ব্যাখ্যা করুন।
সমাধান
feof() হল C ভাষায় একটি ফাইল হ্যান্ডলিং ফাংশন, যা একটি ফাইলের শেষ খুঁজে বের করতে ব্যবহৃত হয়।
ফাইলের শেষ খুঁজে বের করার জন্য আমরা যে যুক্তিটি ব্যবহার করেছি তা হল -
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