কম্পিউটার

fseek() বনাম রিওয়াইন্ড() সি তে


fseek()

সি ভাষায় fseek() ফাইল পয়েন্টারকে একটি নির্দিষ্ট অবস্থানে নিয়ে যাওয়ার জন্য ব্যবহার করা হয়। অফসেট এবং স্ট্রিম হল পয়েন্টারের গন্তব্য, ফাংশন প্যারামিটারে দেওয়া আছে। সফল হলে, এটি শূন্য প্রদান করে, অন্যথায় অ-শূন্য মান প্রদান করা হয়।

এখানে সি ভাষায় fseek() এর সিনট্যাক্স রয়েছে,

int fseek(FILE *stream, long int offset, int whence)

এখানে fseek(),

-এ ব্যবহৃত প্যারামিটার রয়েছে
  • স্ট্রিম − এটি স্ট্রীম শনাক্ত করার পয়েন্টার৷

  • অফসেট − এটি অবস্থান থেকে বাইটের সংখ্যা।

  • কোথা থেকে − এটি সেই অবস্থান যেখানে অফসেট যোগ করা হয়।

যেখান থেকে নিম্নলিখিত ধ্রুবকগুলির একটি দ্বারা নির্দিষ্ট করা হয়৷

  • SEEK_END - ফাইলের শেষ।

  • SEEK_SET - ফাইলের শুরু।

  • SEEK_CUR - ফাইল পয়েন্টারের বর্তমান অবস্থান।

এখানে C ভাষায় fseek() এর একটি উদাহরণ −

ধরা যাক আমাদের কাছে নিম্নলিখিত বিষয়বস্তু সহ “demo.txt” ফাইল আছে -

This is demo text!
This is demo text!
This is demo text!
This is demo text!

এখন আসুন কোড দেখি।

উদাহরণ

#include<stdio.h>
void main() {
   FILE *f;
   f = fopen("demo.txt", "r");
   if(f == NULL) {
      printf("\n Can't open file or file doesn't exist.");
      exit(0);
   }
   fseek(f, 0, SEEK_END);
   printf("The size of file : %ld bytes", ftell(f));
   getch();
}

আউটপুট

The size of file : 78 bytes

উপরের প্রোগ্রামে, ফাইল “demo.txt” খোলা হয় fopen() ব্যবহার করে এবং fseek() ফাংশনটি ফাইলের শেষে পয়েন্টার নিয়ে যাওয়ার জন্য ব্যবহার করা হয়।

f = fopen("demo.txt", "r");
if(f == NULL) {
   printf("\n Can't open file or file doesn't exist.");
   exit(0);
}
fseek(f, 0, SEEK_END);

রিওয়াইন্ড()

রিওয়াইন্ড() ফাংশনটি প্রদত্ত স্ট্রিমের শুরুতে ফাইলের অবস্থান সেট করতে ব্যবহৃত হয়। এটি কোনো মান ফেরত দেয় না।

এখানে C ভাষায় rewind() এর সিনট্যাক্স রয়েছে,

void rewind(FILE *stream);

এখানে C ভাষায় rewind() এর একটি উদাহরণ দেওয়া হল,

ধরা যাক আমাদের কাছে নিম্নলিখিত বিষয়বস্তু সহ “new.txt” ফাইল আছে -

This is demo!
This is demo!

এখন, আসুন উদাহরণ দেখি।

উদাহরণ

#include<stdio.h>
void main() {
   FILE *f;
   f = fopen("new.txt", "r");
   if(f == NULL) {
      printf("\n Can't open file or file doesn't exist.");
      exit(0);
   }
   rewind(f);
   fseek(f, 0, SEEK_END);
   printf("The size of file : %ld bytes", ftell(f));
   getch();
}

আউটপুট

The size of file : 28 bytes

উপরের প্রোগ্রামে, fopen() ব্যবহার করে ফাইল খোলা হয় এবং যদি পয়েন্টার ভেরিয়েবল নাল হয়, তাহলে এটি প্রদর্শন করবে ফাইল খুলতে পারে না বা ফাইলের অস্তিত্ব নেই। রিওয়াইন্ড() ফাংশন পয়েন্টারটিকে ফাইলের শুরুতে নিয়ে যাচ্ছে।

f = fopen("new.txt", "r");
if(f == NULL) {
   printf("\n Can't open file or file doesn't exist.");
   exit(0);
}
rewind(f);

  1. একটি EPUB ফাইল কি?

  2. একটি FLAC ফাইল কি?

  3. 7Z ফাইল কি?

  4. এআই ফাইল কী?