fseek()
সি ভাষায় fseek() ফাইল পয়েন্টারকে একটি নির্দিষ্ট পজিশনে মুভ করতে ব্যবহৃত হয়। অফসেট এবং স্ট্রিম পয়েন্টারের গন্তব্য, ফাংশন প্যারামিটারে দেওয়া হয়। সফল হলে শূন্য রিটার্ন করে, অন্যথায় নন-জিরো ভ্যালু।
সি ভাষায় fseek()-এর সিনট্যাক্স:
int fseek(FILE *stream, long int offset, int whence)
fseek()-এ ব্যবহৃত প্যারামিটারগুলো:
stream − স্ট্রিম চিহ্নিত করার পয়েন্টার।
offset − পজিশন থেকে বাইট সংখ্যা।
whence − যে পজিশন থেকে অফসেট যোগ হবে।
whence নিচের কনস্ট্যান্টগুলোর একটি দ্বারা স্পেসিফাইড:
SEEK_END − ফাইলের শেষ।
SEEK_SET − ফাইলের শুরু।
SEEK_CUR − ফাইল পয়েন্টারের বর্তমান পজিশন।
সি ভাষায় 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);
rewind()
rewind() ফাংশন ফাইলের পজিশন দেওয়া স্ট্রিমের শুরুতে সেট করতে ব্যবহৃত হয়। এটি কোনো মান রিটার্ন করে না।
সি ভাষায় rewind()-এর সিনট্যাক্স:
void rewind(FILE *stream);
সি ভাষায় 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() ব্যবহার করে ওপেন করা হয়েছে এবং পয়েন্টার ভেরিয়েবল যদি NULL হয় তবে ক্যানট ওপেন ফাইল মেসেজ দেখাবে। rewind() ফাংশন পয়েন্টারকে ফাইলের শুরুতে মুভ করে।
f = fopen("new.txt", "r"); if(f == NULL) { printf("\n Can't open file or file doesn't exist."); exit(0); } rewind(f);