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

C++-এ ক্লাস অবজেক্ট ফাইলে পড়া/লেখা (Read/Write Class Objects to File)

C++-এ <fstream> লাইব্রেরি ব্যবহার করে ক্লাস অবজেক্ট ফাইলে লিখা ও পড়া যায়। তিনটি মূল টাইপ:

  • ifstream — ইনপুট ফাইল স্ট্রিম (পড়ার জন্য)
  • ofstream — আউটপুট ফাইল স্ট্রিম (লিখার জন্য)
  • fstream — জেনারেল ফাইল স্ট্রিম (দুই কাজেই)

অবজেক্ট লিখা ও পড়া

// লিখা
ofstream file1;
file1.open("Employee.txt", ios::app);
file1.write((char*)&Emp_1, sizeof(Emp_1));
file1.close();

// পড়া
ifstream file2;
file2.open("Employee.txt", ios::in);
file2.read((char*)&Emp_1, sizeof(Emp_1));
file2.close();

(char*)&obj অবজেক্টের শুরুয় পয়েন্ট করে, sizeof(obj) বাইট কাউন্ট দেয়।

সম্পূর্ণ উদাহরণ

#include <iostream>
#include <fstream>
using namespace std;

class Employee {
public:
    string Name;
    int Employee_ID;
    int Salary;
};

int main() {
    Employee Emp_1;
    Emp_1.Name = "John";
    Emp_1.Employee_ID = 2121;
    Emp_1.Salary = 11000;

    // ফাইলে লিখা
    ofstream file1;
    file1.open("Employee.txt", ios::app);
    file1.write((char*)&Emp_1, sizeof(Emp_1));
    file1.close();

    // ফাইল থেকে পড়া
    ifstream file2;
    file2.open("Employee.txt", ios::in);
    file2.seekg(0);
    file2.read((char*)&Emp_1, sizeof(Emp_1));

    cout << "Name: " << Emp_1.Name << "\n";
    cout << "Employee ID: " << Emp_1.Employee_ID << "\n";
    cout << "Salary: " << Emp_1.Salary << "\n";

    file2.close();
    return 0;
}

আউটপুট: Name: John Employee ID: 2121 Salary: 11000

দ্রষ্টব্য: string মেম্বার থাকলে বাইনারি রাইট/রিড সঠিক কাজ নাও করতে পারে। সিরিয়ালাইজেশন বা টেক্সট ফরম্যাট ভালো।

  1. iOS-এ ফাইল তৈরি, ডেটা লেখা এবং পড়ার পদ্ধতি

  2. C প্রোগ্রাম: ফাইল থেকে ডেটা পড়ে প্রদর্শন করা

  3. C/C++-তে lseek() ব্যবহার করে 얼터নেট nth বাইট পড়া এবং অন্য ফাইলে লেখা

  4. পাইথনে CSV ফাইল পড়া এবং লেখা: csv এবং Pandas দিয়ে ধাপে ধাপে গাইড