ফাইল পয়েন্টার এবং ফাইল মোড: "r", "w", "a"

File Handling Functions (ফাইল হ্যান্ডলিং ফাংশনস) - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) - Computer Programming

459

ফাইল পয়েন্টার এবং ফাইল মোড: "r", "w", "a"

সি প্রোগ্রামিং ভাষায় ফাইল পয়েন্টার এবং ফাইল মোড গুরুত্বপূর্ণ ভূমিকা পালন করে ফাইল ইনপুট এবং আউটপুট অপারেশন পরিচালনার ক্ষেত্রে। ফাইল পয়েন্টার একটি বিশেষ ধরনের পয়েন্টার যা একটি ফাইলের অবস্থান নির্দেশ করে এবং ফাইল মোডগুলো নির্ধারণ করে কিভাবে ফাইলটি খুলবে এবং কিভাবে তার সাথে কাজ করবে।

১. ফাইল পয়েন্টার

ফাইল পয়েন্টার হলো একটি পয়েন্টার যা ফাইলের অবস্থান বা পয়েন্টারের মাধ্যমে ফাইলের মধ্যে ডেটা অ্যাক্সেস করতে ব্যবহৃত হয়। যখন একটি ফাইল খোলা হয়, তখন এটি একটি পয়েন্টার প্রদান করে যা ফাইলের প্রথম অক্ষরের অবস্থানকে নির্দেশ করে।

FILE টাইপের ফাইল পয়েন্টার ব্যবহার করে ফাইলের সাথে কাজ করা হয়। এটি stdio.h হেডার ফাইলের অংশ।

উদাহরণ:

FILE *file;  // ফাইল পয়েন্টার ডিক্লেয়ার করা
file = fopen("example.txt", "r");  // ফাইল খোলা

এখানে, file একটি ফাইল পয়েন্টার যা example.txt ফাইলকে নির্দেশ করছে। ফাইল মোড "r" (পড়ার জন্য) ব্যবহার করা হয়েছে।


২. ফাইল মোড: "r", "w", "a"

ফাইল মোডগুলি ফাইল খুলতে ব্যবহৃত হয় এবং ফাইলের সাথে কি ধরনের অপারেশন করা যাবে তা নির্ধারণ করে। সবচেয়ে প্রচলিত তিনটি ফাইল মোড হলো "r", "w", এবং "a"

১. "r" (পড়ার জন্য)

"r" ফাইল মোডটি শুধুমাত্র পড়ার জন্য ফাইল খুলতে ব্যবহৃত হয়। এই মোডে, ফাইলটি যদি থাকে তবে সেটি খোলা হয় এবং আপনি ফাইলটি পড়তে পারবেন। কিন্তু যদি ফাইলটি না থাকে, তবে fopen() ফাংশন NULL রিটার্ন করবে।

সিঙ্কট্যাক্স:

FILE *fopen(const char *filename, "r");

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "r");
    
    if (file == NULL) {
        printf("File not found\n");
        return 1;
    }

    // ফাইল পড়া
    char ch;
    while ((ch = fgetc(file)) != EOF) {
        printf("%c", ch);
    }

    fclose(file);  // ফাইল বন্ধ
    return 0;
}

এখানে, "r" মোডে ফাইলটি খোলা হয়েছে এবং fgetc() ফাংশন দ্বারা ফাইল থেকে ক্যারেক্টার পড়া হয়েছে।

২. "w" (লেখার জন্য)

"w" ফাইল মোডটি লেখার জন্য ব্যবহৃত হয়। এই মোডে, যদি ফাইলটি আগে থেকে বিদ্যমান থাকে, তবে এটি মুছে দেয় এবং নতুনভাবে লিখতে শুরু হয়। যদি ফাইলটি না থাকে, তবে একটি নতুন ফাইল তৈরি করা হয়।

সিঙ্কট্যাক্স:

FILE *fopen(const char *filename, "w");

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");

    if (file == NULL) {
        printf("File could not be opened\n");
        return 1;
    }

    // ফাইলে লেখা
    fprintf(file, "Hello, World!\n");

    fclose(file);  // ফাইল বন্ধ
    return 0;
}

এখানে, "w" মোডে ফাইলটি খোলা হয়েছে এবং fprintf() ফাংশন ব্যবহার করে ফাইলে লেখা হয়েছে।

৩. "a" (অ্যাপেন্ড/যোগ করার জন্য)

"a" ফাইল মোডটি অ্যাপেন্ড (অর্থাৎ ফাইলের শেষে নতুন ডেটা যোগ করা) করতে ব্যবহৃত হয়। এই মোডে, যদি ফাইলটি আগে থেকেই থাকে, তবে নতুন লেখা ফাইলের শেষে যোগ করা হয়। এবং যদি ফাইলটি না থাকে, তবে একটি নতুন ফাইল তৈরি হয়।

সিঙ্কট্যাক্ট:

FILE *fopen(const char *filename, "a");

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "a");

    if (file == NULL) {
        printf("File could not be opened\n");
        return 1;
    }

    // ফাইলে যোগ করা
    fprintf(file, "Appending a new line to the file.\n");

    fclose(file);  // ফাইল বন্ধ
    return 0;
}

এখানে, "a" মোডে ফাইলটি খোলা হয়েছে এবং fprintf() ফাংশন ব্যবহার করে ফাইলে নতুন লাইন যোগ করা হয়েছে। পুরনো ডেটা অপরিবর্তিত থাকে।


সারসংক্ষেপ:

ফাইল মোডবর্ণনাব্যবহার উদাহরণ
"r"শুধুমাত্র ফাইল পড়ার জন্য। ফাইলটি যদি না থাকে, তবে NULL রিটার্ন করবে।fopen("file.txt", "r");
"w"লেখার জন্য ফাইল খোলবে। ফাইলটি আগে থেকে থাকলে মুছে ফেলা হবে এবং নতুন করে লেখা হবে।fopen("file.txt", "w");
"a"ফাইলের শেষে ডেটা যোগ করতে ব্যবহৃত হয়। ফাইলটি না থাকলে একটি নতুন ফাইল তৈরি হবে।fopen("file.txt", "a");
  • "r": ফাইলটি পড়তে ব্যবহৃত হয়, তবে ফাইলটি যদি না থাকে, তাহলে এটি NULL রিটার্ন করবে।
  • "w": লেখার জন্য ফাইল খোলে এবং ফাইলটি মুছে দেয় (যদি থাকে)।
  • "a": ফাইলের শেষে ডেটা যোগ করার জন্য ব্যবহৃত হয় এবং ফাইলের পূর্বের ডেটা অপরিবর্তিত থাকে।

ফাইল মোডের মাধ্যমে আপনি ফাইলের সাথে কী ধরনের অপারেশন করতে চান তা নির্ধারণ করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...