কম্পিউটার

C++ এ ফাইল থেকে/তে ক্লাস অবজেক্ট পড়ুন/লিখুন


আইওস্ট্রিম স্ট্যান্ডার্ড লাইব্রেরির দুটি পদ্ধতি রয়েছে cin, স্ট্যান্ডার্ড ইনপুট স্ট্রীম থেকে ইনপুট গ্রহণ করার জন্য এবং স্ট্যান্ডার্ড আউটপুট স্ট্রীমে আউটপুট প্রিন্ট করার জন্য cout। এই নিবন্ধে আমরা শিখব কিভাবে ক্লাস অবজেক্টে ফাইল থেকে ডেটা পড়তে হয় এবং কীভাবে ক্লাস অবজেক্টের টোফাইলে ডেটা লিখতে হয়।

ফাইল থেকে ডেটা পড়া এবং লেখার জন্য C++ -এর আরেকটি স্ট্যান্ডার্ড লাইব্রেরি প্রয়োজন। এফস্ট্রিমের তিনটি প্রধান ডেটা প্রকার হল −

  • ifstream - ইনপুট ফাইল স্ট্রীম প্রতিনিধিত্ব করে এবং ফাইল থেকে তথ্য পড়ে।
  • অফস্ট্রিম - আউটপুট ফাইল স্ট্রীম প্রতিনিধিত্ব করে এবং ফাইলগুলিতে তথ্য লেখে।
  • fstream - সাধারণ ফাইল স্ট্রীম প্রতিনিধিত্ব করে এবং উভয়েরই ক্ষমতা রয়েছে৷

ক্লাস অবজেক্ট তৈরি করা হচ্ছে

আমরা নাম, কর্মচারী_আইডি, এবং বেতন সহ একটি শ্রেণির কর্মচারীকে এর পাবলিক ডেটা সদস্য হিসাবে নিচ্ছি৷

<পূর্ব>শ্রেণীর কর্মচারী { সর্বজনীন:চারের নাম[]; দীর্ঘ Employee_ID; int বেতন;};কর্মচারী Emp_1;Emp_1.Name=”Jhonson”;Emp_1.Employee_ID=212020;Emp_1.Salary=11000;

ফাইল অবজেক্ট তৈরি করা

সিনট্যাক্স

fstream/ofstream/ifstream object_name;void open(const char *filename, ios::openmode);ofstream file1;file1.open( “Employee.txt”, ios::app);
  • এখানে file1 হল পরিশিষ্ট মোডে Employee.txt ফাইল খুলতে ব্যবহৃত অবজেক্ট (নতুন বিষয়বস্তু শেষে যুক্ত করা হয়)। ফাইল১ অবজেক্টের ধরন অফস্ট্রিম যার মানে আমরা Employee.txt এ লিখতে পারি।

ifstream file2;file2.open( "Employee.txt", ios::in);
  • এখানে ফাইল2 হল বিষয়বস্তু পড়ার জন্য Employee.txt ফাইলটি ইনপুট মোডে খুলতে ব্যবহৃত অবজেক্ট। ফাইল১ অবজেক্টের ধরন হল ifstream যার মানে আমরা শুধুমাত্র Employee.txt থেকে ডেটা পড়তে পারি।

ক্লাস অবজেক্ট লেখা এবং পড়া

file1.write((char*)&Emp_1, sizeof(Emp1) );
  • এখানে ক্লাস অবজেক্ট Emp_1-এ উপস্থিত ডেটা লিখিত ফাংশন কল করে Employee.txt ফাইলে লেখা হয়। (char*)&Emp_1 একটি বস্তুর শুরুতে নির্দেশ করতে ব্যবহৃত হয় এবং (Emp_1) ফাইলে কপি করা বাইটের সংখ্যা গণনা করে।

file2.read((char*)&Emp_1, sizeof(Emp1) );
  • এখানে ক্লাস অবজেক্ট Emp_1-এ উপস্থিত ডেটা কলিংরিড ফাংশন দ্বারা Employee.txt ফাইল থেকে পড়া হয়। (char*)&Emp_1 একটি বস্তুর শুরুতে নির্দেশ করতে ব্যবহৃত হয় এবং সাইজফ(Emp_1) ফাইল থেকে পড়া বাইটের সংখ্যা গণনা করে।

ফাইলটি বন্ধ করা হচ্ছে

file1.close();file2.close();

ফাইলের ইনপুট স্ট্রীম এবং আউটপুট স্ট্রীম বন্ধ করতে।

উদাহরণ

#include #include নামস্পেস ব্যবহার করে std;// শ্রেণী প্রপার্টি ক্লাস এমপ্লয়ি {পাবলিক:স্ট্রিং নাম; int Employee_ID; int বেতন;};int main(){ কর্মচারী নিয়োগ_1; Emp_1.Name="John"; Emp_1.Employee_ID=2121; Emp_1.বেতন=11000; //এই ডেটা Employee.txt ofstream file1-এ লেখা; file1.open("Employee.txt", ios::app); file1.write((char*)&Emp_1,sizeof(Emp_1)); file1.close(); //EMployee.txt ifstream file2 থেকে ডেটা পড়া; file2.open("Employee.txt",ios::in); file2.seekg(0); file2.read((char*)&Emp_1,sizeof(Emp_1)); printf("\nনাম :%s", Emp_1.Name); printf("\nকর্মচারী আইডি :%d",Emp_1.Employee_ID); printf("\nবেতন :%d",Emp_1.বেতন); file2.close(); রিটার্ন 0;

আউটপুট

নাম:জন কর্মচারী আইডি:2121 বেতন:11000

  1. কীভাবে একটি ফাইল তৈরি করবেন, এতে ডেটা লিখবেন এবং এটি থেকে আইওএস-এ ডেটা পড়বেন?

  2. ফাইল এবং প্রদর্শন থেকে একটি ডেটা পড়ার জন্য একটি সি প্রোগ্রাম লিখুন

  3. C/C++ এ Iseek() বিকল্প nth বাইট পড়তে এবং অন্য ফাইলে লিখুন

  4. পাইথন রিড রাইট CSV ফাইল