আমরা সি-তে একটি প্রোগ্রাম লিখতে পারি যা ফাইলে কিছু কন্টেন্ট লিখে এবং নিম্নলিখিত কাজগুলো করে −
- ফাইলে ইনপুট দেওয়া ক্যারেক্টারের সংখ্যা।
- ফাইলে ইনপুট দেওয়া ক্যারেক্টারগুলো রিভার্স করা।
প্রথমে, ফাইলটি রাইট মোডে ওপেন করে ক্যারেক্টার সংরক্ষণ করার চেষ্টা করুন।
ফাইলে ডেটা ইনপুটের জন্য নিচের লজিক ব্যবহার করা হয় −
while ((ch = getchar( ))!=EOF) {//after enter data press cntrl+Z to terminate fputc(ch, fp); }ftell, rewind, fseek ফাংশনগুলোর সাহায্যে আমরা ইতিমধ্যে ফাইলে ইনপুট দেওয়া কন্টেন্ট রিভার্স করতে পারি।
উদাহরণ
নিচে ফাইলে কন্টেন্ট প্রিন্ট করা, ক্যারেক্টার কাউন্ট করা ও রিভার্স করার একটি সি প্রোগ্রাম দেওয়া হলো −
#include<stdio.h> int main( ){ FILE *fp; char ch; int n,i=0; fp = fopen ("reverse.txt", "w"); printf ("enter text press ctrl+z of the end"); while ((ch = getchar( ))!=EOF){ fputc(ch, fp); } n = ftell(fp); printf ( "No. of characters entered = %d\n", n); rewind (fp); n = ftell (fp); printf ("fp value after rewind = %d\n",n); fclose (fp); fp = fopen ("reverse.txt", "r"); fseek(fp,0,SEEK_END); n = ftell(fp); printf ("reversed content is\n"); while(i<n){ i++; fseek(fp,-i,SEEK_END); printf("%c",fgetc(fp)); } fclose (fp); return 0; }আউটপুট
উপরোক্ত প্রোগ্রাম এক্সিকিউট করলে নিচের ফলাফল আসে −
enter text press ctrl+z of the end TutorialsPoint ^Z No. of characters entered = 18 fp value after rewind = 0 reversed content is tnioPslairotuT