কম্পিউটার টিউটোরিয়াল

সি-এ fseek() বনাম rewind()


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);

  1. EPUB ফাইল কী?

  2. FLAC ফাইল কী? লসलेস অডিও ফরম্যাটের সব জানুন

  3. 7Z ফাইল কী? - 7-Zip কম্প্রেসড ফাইল সম্পর্কে সম্পূর্ণ গাইড

  4. AI ফাইল কী? অ্যাডোব ইলাস্ট্রেটর আর্টওয়ার্ক ফাইল