টেক্সট এবং বাইনারি ফাইল হ্যান্ডলিং

ফাইল হ্যান্ডলিং - সি প্রোগ্রামিং উদাহরণ (C Examples) - Computer Science

344

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

টেক্সট ফাইল হ্যান্ডলিং

টেক্সট ফাইল সাধারণত মানুষের পাঠযোগ্য ফরম্যাটে ডেটা সংরক্ষণ করে, যেমন .txt ফাইল। এখানে প্রতিটি ক্যারেক্টার ASCII ফরম্যাটে সংরক্ষিত হয়।

টেক্সট ফাইল হ্যান্ডলিং এর জন্য প্রধান ফাংশনসমূহ

১. fopen(): ফাইল খোলে। ২. fprintf(): টেক্সট ফাইলে ডেটা লেখে। ৩. fscanf(): টেক্সট ফাইল থেকে ডেটা পড়ে। ৪. fclose(): ফাইল বন্ধ করে।

উদাহরণ: টেক্সট ফাইলে ডেটা লেখা এবং পড়া

#include <stdio.h>

int main() {
    FILE *file;
    
    // টেক্সট ফাইলে লেখা
    file = fopen("textfile.txt", "w"); // লেখার মোডে ফাইল খোলা
    if (file == NULL) {
        printf("File could not be opened.\n");
        return 1;
    }
    fprintf(file, "Hello, this is a text file.\n");
    fprintf(file, "Text files are readable by humans.\n");
    fclose(file); // ফাইল বন্ধ

    // টেক্সট ফাইল থেকে ডেটা পড়া
    char line[100];
    file = fopen("textfile.txt", "r"); // পড়ার মোডে ফাইল খোলা
    if (file == NULL) {
        printf("File could not be opened.\n");
        return 1;
    }
    printf("Data from text file:\n");
    while (fgets(line, sizeof(line), file)) { // এক লাইন করে পড়া
        printf("%s", line);
    }
    fclose(file); // ফাইল বন্ধ

    return 0;
}

আউটপুট:

Data from text file:
Hello, this is a text file.
Text files are readable by humans.

বাইনারি ফাইল হ্যান্ডলিং

বাইনারি ফাইল ফরম্যাটে ডেটা সরাসরি বাইনারি আকারে সংরক্ষণ করা হয়, যা সংরক্ষিত ডেটাকে আরও কম্প্যাক্ট রাখে। এটি দ্রুত এবং নির্ভুল ডেটা প্রসেসিংয়ের জন্য উপযুক্ত।

বাইনারি ফাইল হ্যান্ডলিং এর জন্য প্রধান ফাংশনসমূহ

১. fopen(): ফাইল খোলে। ২. fwrite(): বাইনারি ফাইলে ডেটা লেখে। ৩. fread(): বাইনারি ফাইল থেকে ডেটা পড়ে। ৪. fclose(): ফাইল বন্ধ করে।

উদাহরণ: বাইনারি ফাইলে ডেটা লেখা এবং পড়া

ধরা যাক, আমরা একটি Student স্ট্রাকচারের ডেটা বাইনারি ফাইলে সংরক্ষণ এবং পুনরায় পড়তে চাই।

#include <stdio.h>

// স্ট্রাকচার ডিক্লেয়ারেশন
struct Student {
    int roll;
    char name[50];
    float marks;
};

int main() {
    FILE *file;
    struct Student s1 = {1, "Alice", 85.5}; // ডেটা ইনিশিয়ালাইজ

    // বাইনারি ফাইলে ডেটা লেখা
    file = fopen("student.dat", "wb"); // বাইনারি লেখার মোডে ফাইল খোলা
    if (file == NULL) {
        printf("File could not be opened.\n");
        return 1;
    }
    fwrite(&s1, sizeof(struct Student), 1, file); // fwrite ফাংশন ব্যবহার করে লেখা
    fclose(file); // ফাইল বন্ধ

    // বাইনারি ফাইল থেকে ডেটা পড়া
    struct Student s2;
    file = fopen("student.dat", "rb"); // বাইনারি পড়ার মোডে ফাইল খোলা
    if (file == NULL) {
        printf("File could not be opened.\n");
        return 1;
    }
    fread(&s2, sizeof(struct Student), 1, file); // fread ফাংশন ব্যবহার করে পড়া
    fclose(file); // ফাইল বন্ধ

    // পড়া ডেটা প্রদর্শন
    printf("Roll: %d\n", s2.roll);
    printf("Name: %s\n", s2.name);
    printf("Marks: %.2f\n", s2.marks);

    return 0;
}

আউটপুট:

Roll: 1
Name: Alice
Marks: 85.50

টেক্সট এবং বাইনারি ফাইলের মধ্যে পার্থক্য

বৈশিষ্ট্যটেক্সট ফাইলবাইনারি ফাইল
ডেটা স্টোরেজASCII বা ইউনিকোডে ক্যারেক্টার হিসেবেবাইনারি ফরম্যাটে (0 এবং 1) সংরক্ষণ
মানুষের জন্য পাঠযোগ্যপাঠযোগ্যসাধারণত পাঠযোগ্য নয়
ফাইল সাইজতুলনামূলক বড়তুলনামূলক ছোট
স্পেসিফিকেশনলাইন ব্রেক এবং ট্যাব সংরক্ষণ করেকেবল বাইনারি ডেটা সংরক্ষণ করে
প্রসেসিং গতিতুলনামূলক ধীরতুলনামূলক দ্রুত

ফাইল হ্যান্ডলিং টিপস

  • ফাইল খোলার পরে অবশ্যই fclose() দিয়ে ফাইল বন্ধ করতে হবে।
  • ফাইলের মোড সঠিকভাবে নির্বাচন করতে হবে, যেমন লেখার জন্য w, পড়ার জন্য r, এবং বাইনারি লেখার জন্য wb
  • ফাইলের কার্যক্রম সফল হয়েছে কিনা তা যাচাই করতে fopen() বা fread() এর রিটার্ন ভ্যালু পরীক্ষা করা উচিত।

সংক্ষেপে

  • টেক্সট ফাইল: সহজে পড়া এবং সম্পাদনযোগ্য, কিন্তু বড় ডেটার জন্য তুলনামূলক কম কার্যকর।
  • বাইনারি ফাইল: বড় এবং জটিল ডেটা সংরক্ষণে কার্যকর এবং দ্রুত, কিন্তু সাধারণত মানুষের জন্য পাঠযোগ্য নয়।

টেক্সট এবং বাইনারি ফাইল হ্যান্ডলিং সি প্রোগ্রামে ডেটা সংরক্ষণ এবং পুনরুদ্ধারে গুরুত্বপূর্ণ ভূমিকা পালন করে, যা প্রোগ্রামিংয়ে ডেটা ম্যানেজমেন্টকে সহজ করে।

Content added By
Promotion

Are you sure to start over?

Loading...