C ++ ফাইল হ্যান্ডলিং: কিভাবে C ++ এ ফাইল খুলবেন, লিখবেন, পড়বেন, বন্ধ করবেন

C ++ এ ফাইল হ্যান্ডলিং কি?

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

একটি প্রবাহ হল একটি ডিভাইসের বিমূর্ততা যেখানে ইনপুট/আউটপুট অপারেশন করা হয়। আপনি একটি স্ট্রিমকে একটি গন্তব্য বা অনির্দিষ্ট দৈর্ঘ্যের অক্ষরের উৎস হিসাবে উপস্থাপন করতে পারেন। এটি তাদের ব্যবহারের দ্বারা নির্ধারিত হবে। C ++ আপনাকে একটি লাইব্রেরি প্রদান করে যা ফাইল পরিচালনার পদ্ধতি নিয়ে আসে। আসুন আমরা এটি আলোচনা করি।

এই c ++ টিউটোরিয়ালে, আপনি শিখবেন:

এফস্ট্রিম লাইব্রেরি

Fstream লাইব্রেরি C ++ প্রোগ্রামারদেরকে ফাইলের সাথে কাজ করার জন্য তিনটি ক্লাস প্রদান করে। এই ক্লাসগুলির মধ্যে রয়েছে:

  • প্রবাহের - এই শ্রেণীটি একটি আউটপুট স্ট্রিম উপস্থাপন করে। এটি ফাইল তৈরি এবং ফাইলগুলিতে তথ্য লেখার জন্য ব্যবহৃত হয়।
  • ifstream - এই ক্লাসটি একটি ইনপুট স্ট্রীমের প্রতিনিধিত্ব করে। এটি ডেটা ফাইল থেকে তথ্য পড়ার জন্য ব্যবহৃত হয়।
  • fstream - এই শ্রেণীটি সাধারণত একটি ফাইল স্ট্রিম উপস্থাপন করে। এটি অফস্ট্রিম/ইফস্ট্রিম ক্ষমতা নিয়ে আসে। এর অর্থ এটি ফাইল তৈরি করতে, ফাইলগুলিতে লিখতে, ডেটা ফাইল থেকে পড়াতে সক্ষম।

নিচের ছবিটি বোঝা সহজ করে তোলে:

fstream লাইব্রেরি



এফস্ট্রিম লাইব্রেরির উপরের ক্লাসগুলি ব্যবহার করার জন্য, আপনাকে অবশ্যই এটি আপনার প্রোগ্রামে একটি হেডার ফাইল হিসাবে অন্তর্ভুক্ত করতে হবে। অবশ্যই, আপনি #include preprocessor নির্দেশিকা ব্যবহার করবেন। আপনাকে অবশ্যই iostream হেডার ফাইলটি অন্তর্ভুক্ত করতে হবে।

কিভাবে ফাইল খুলবেন

একটি ফাইলে কোন অপারেশন করার আগে, আপনাকে প্রথমে এটি খুলতে হবে। যদি আপনার ফাইলটি লেখার প্রয়োজন হয়, তবে এটি fstream বা ofstream বস্তু ব্যবহার করে খুলুন। যদি আপনার শুধুমাত্র ফাইল থেকে পড়ার প্রয়োজন হয়, তাহলে ifstream অবজেক্ট ব্যবহার করে এটি খুলুন।

তিনটি বস্তু, অর্থাৎ, fstream, ofstream, এবং ifstream, তাদের মধ্যে open () ফাংশন সংজ্ঞায়িত আছে। ফাংশন এই সিনট্যাক্স নেয়: | _+_ |

  • File_name প্যারামিটার খোলার জন্য ফাইলের নাম নির্দেশ করে।
  • মোড প্যারামিটার optionচ্ছিক। এটি নিচের যেকোনো একটি মান নিতে পারে:
মান বর্ণনা
আইওএস :: অ্যাপযোগ মোড। ফাইলে পাঠানো আউটপুট এর সাথে যুক্ত হয়।
ios :: খেয়েছেএটি আউটপুটের জন্য ফাইলটি খোলে তারপর রিড এবং রাইট কন্ট্রোলকে ফাইলের শেষে নিয়ে যায়।
ios :: ইনএটি একটি পড়ার জন্য ফাইল খোলে।
ios :: আউটএটি একটি লেখার জন্য ফাইলটি খোলে।
ios :: ট্রাঙ্কযদি একটি ফাইল বিদ্যমান থাকে, ফাইলের উপাদানগুলি খোলার আগে কেটে ফেলা উচিত।

একই সময়ে দুটি মোড ব্যবহার করা সম্ভব। আপনি | ব্যবহার করে তাদের একত্রিত করুন (অথবা) অপারেটর।

উদাহরণ 1:

 open (file_name, mode); 

আউটপুট:

এখানে কোডটির একটি স্ক্রিনশট দেওয়া হল:

কোড ব্যাখ্যা:

  1. প্রোগ্রামের ফাংশন ব্যবহার করতে iostream হেডার ফাইল অন্তর্ভুক্ত করুন।
  2. এফস্ট্রিম হেডার ফাইলটি তার ক্লাস ব্যবহার করার জন্য প্রোগ্রামে অন্তর্ভুক্ত করুন।
  3. আমাদের কোডে এসটিডি নেমস্পেস অন্তর্ভুক্ত করুন তার ক্লাসগুলি এটিকে কল না করে ব্যবহার করতে।
  4. প্রধান () ফাংশন কল করুন। প্রোগ্রাম লজিক তার শরীরের মধ্যে যেতে হবে।
  5. Fstream ক্লাসের একটি বস্তু তৈরি করুন এবং এটিকে my_file নাম দিন।
  6. একটি নতুন ফাইল তৈরি করতে উপরের বস্তুর উপর open () ফাংশন প্রয়োগ করুন। আউট মোড আমাদের ফাইলে লিখতে দেয়।
  7. ফাইল তৈরি ব্যর্থ হয়েছে কিনা তা পরীক্ষা করতে if স্টেটমেন্ট ব্যবহার করুন।
  8. ফাইলটি তৈরি না হলে কনসোলে মুদ্রণ করার বার্তা।
  9. If স্টেটমেন্ট এর বডি শেষ।
  10. ফাইল তৈরি করা হলে কি করতে হবে তা জানাতে অন্য একটি বিবৃতি ব্যবহার করুন।
  11. ফাইল তৈরি করা হলে কনসোলে মুদ্রণ করার বার্তা।
  12. ফাইল বন্ধ করার জন্য অবজেক্টে close () ফাংশন প্রয়োগ করুন।
  13. অন্য বক্তব্যের বডি শেষ।
  14. সফলভাবে সম্পন্ন হলে প্রোগ্রাম অবশ্যই মান ফেরত দিতে হবে।
  15. প্রধান () ফাংশন বডি শেষ।

কিভাবে ফাইল বন্ধ করা যায়

একবার একটি C ++ প্রোগ্রাম বন্ধ হয়ে গেলে, এটি স্বয়ংক্রিয়ভাবে

  • স্রোতগুলি প্রবাহিত করে
  • বরাদ্দকৃত মেমরি প্রকাশ করে
  • খোলা ফাইল বন্ধ করে।

যাইহোক, একজন প্রোগ্রামার হিসাবে, প্রোগ্রামটি শেষ হওয়ার আগে আপনার খোলা ফাইলগুলি বন্ধ করা শিখতে হবে।

Fstream, ofstream, এবং ifstream অবজেক্টের ফাইল বন্ধ করার জন্য close () ফাংশন আছে। ফাংশন এই সিনট্যাক্স নেয়: | _+_ |

ফাইলগুলিতে কীভাবে লিখবেন

আপনি আপনার C ++ প্রোগ্রাম থেকে সরাসরি ফাইল লিখতে পারেন। আপনি স্ট্রিম সন্নিবেশ অপারেটর ব্যবহার করেন (<<) for this. The text to be written to the file should be enclosed within double-quotes.

আসুন আমরা এটি প্রদর্শন করি।

উদাহরণ 2:

 #include #include using namespace std; int main() { fstream my_file; my_file.open('my_file', ios::out); if (!my_file) { cout << 'File not created!'; } else { cout << 'File created successfully!'; my_file.close(); } return 0; } 

আউটপুট :

এখানে কোডটির একটি স্ক্রিনশট দেওয়া হল:

কোড ব্যাখ্যা:

  1. প্রোগ্রামের ফাংশন ব্যবহার করতে iostream হেডার ফাইল অন্তর্ভুক্ত করুন।
  2. এফস্ট্রিম হেডার ফাইলটি তার ক্লাস ব্যবহার করার জন্য প্রোগ্রামে অন্তর্ভুক্ত করুন।
  3. প্রোগ্রামে std নেমস্পেস অন্তর্ভুক্ত করুন তার ক্লাসগুলি কল না করে ব্যবহার করতে।
  4. প্রধান () ফাংশন কল করুন। এই ফাংশনের মূল অংশে প্রোগ্রামের যুক্তি যুক্ত করা উচিত।
  5. Fstream ক্লাসের একটি উদাহরণ তৈরি করুন এবং এটি my_file নাম দিন।
  6. My_file.txt নামে একটি নতুন ফাইল তৈরি করতে open () ফাংশনটি ব্যবহার করুন। ফাইলটি লেখার জন্য আউট মোডে খোলা হবে।
  7. ফাইলটি খোলা হয়নি কিনা তা পরীক্ষা করতে একটি if স্টেটমেন্ট ব্যবহার করুন।
  8. ফাইলটি খোলা না থাকলে কনসোলে মুদ্রণ করার জন্য পাঠ্য।
  9. If স্টেটমেন্টের বডি শেষ।
  10. ফাইল তৈরি করা হলে কি করতে হবে তা জানাতে অন্য একটি বিবৃতি ব্যবহার করুন।
  11. ফাইল তৈরি করা হলে কনসোলে মুদ্রণ করার জন্য পাঠ্য।
  12. তৈরি করা ফাইলে কিছু টেক্সট লিখুন।
  13. ফাইলটি বন্ধ করতে close () ফাংশনটি ব্যবহার করুন।
  14. অন্য বক্তব্যের বডি শেষ।
  15. সফলভাবে সমাপ্ত হলে প্রোগ্রাম অবশ্যই মূল্য ফেরত দিতে হবে।
  16. প্রধান () ফাংশনের শরীরের শেষ।

ফাইল থেকে কিভাবে পড়বেন

আপনি আপনার C ++ প্রোগ্রামে ফাইল থেকে তথ্য পড়তে পারেন। স্ট্রিম এক্সট্রাকশন অপারেটর (>>) ব্যবহার করে এটি সম্ভব। আপনি কিবোর্ড থেকে ব্যবহারকারীর ইনপুট পড়ার জন্য যেভাবে ব্যবহার করেন সেভাবে আপনি অপারেটর ব্যবহার করেন। যাইহোক, সিন বস্তু ব্যবহারের পরিবর্তে, আপনি ifstream/ fstream বস্তু ব্যবহার করেন।

উদাহরণ 3:

 void close(); 

আউটপুট:

এমন কোন ফাইল নেই

এখানে কোডটির একটি স্ক্রিনশট দেওয়া হল:

কোড ব্যাখ্যা:

  1. প্রোগ্রামের ফাংশন ব্যবহার করতে iostream হেডার ফাইল অন্তর্ভুক্ত করুন।
  2. এফস্ট্রিম হেডার ফাইলটি তার ক্লাস ব্যবহার করার জন্য প্রোগ্রামে অন্তর্ভুক্ত করুন।
  3. প্রোগ্রামে std নেমস্পেস অন্তর্ভুক্ত করুন তার ক্লাসগুলি কল না করে ব্যবহার করতে।
  4. প্রধান () ফাংশন কল করুন। এই ফাংশনের মূল অংশে প্রোগ্রামের যুক্তি যুক্ত করা উচিত।
  5. Fstream ক্লাসের একটি উদাহরণ তৈরি করুন এবং এটি my_file নাম দিন।
  6. My_file.txt নামে একটি নতুন ফাইল তৈরি করতে open () ফাংশনটি ব্যবহার করুন। ফাইলটি পড়ার জন্য ইন মোডে খোলা হবে।
  7. ফাইলের অস্তিত্ব আছে কিনা তা পরীক্ষা করার জন্য if স্টেটমেন্ট ব্যবহার করুন।
  8. ফাইলটি না পাওয়া গেলে কনসোলে প্রিন্ট করার জন্য পাঠ্য।
  9. If স্টেটমেন্টের বডি শেষ।
  10. ফাইলটি পাওয়া গেলে কী করতে হবে তা জানাতে অন্য একটি বিবৃতি ব্যবহার করুন।
  11. Ch নামে একটি চর ভেরিয়েবল তৈরি করুন।
  12. ফাইল বিষয়বস্তু উপর পুনরাবৃত্তি জন্য একটি সময় লুপ তৈরি করুন।
  13. ভেরিয়েবল ch এ ফাইলের বিষয়বস্তু লিখুন/সংরক্ষণ করুন।
  14. যদি ফাইলের শেষ হয়, তাহলে একটি ইফ কন্ডিশন এবং ইওএফ () ফাংশন ব্যবহার করুন যাতে নিশ্চিত না হয় যে কম্পাইলার ফাইল থেকে পড়তে থাকে যদি শেষ পর্যন্ত না পৌঁছায়।
  15. একবার শেষ হয়ে গেলে ফাইল থেকে পড়া বন্ধ করার জন্য একটি বিরতি বিবৃতি ব্যবহার করুন।
  16. কনসোলে ভেরিয়েবল ch এর বিষয়বস্তু মুদ্রণ করুন।
  17. শরীরের শেষ সময়।
  18. অন্য বক্তব্যের বডি শেষ।
  19. ফাইল বন্ধ করতে close () ফাংশনে কল করুন।
  20. সফলভাবে সমাপ্ত হলে প্রোগ্রাম অবশ্যই মূল্য ফেরত দিতে হবে।
  21. প্রধান () ফাংশনের শরীরের শেষ।

সারসংক্ষেপ:

  • ফাইল পরিচালনার মাধ্যমে, একটি প্রোগ্রামের আউটপুট একটি ফাইলে পাঠানো এবং সংরক্ষণ করা যেতে পারে।
  • ফাইলে থাকাকালীন ডেটাতে বেশ কয়েকটি অপারেশন প্রয়োগ করা যেতে পারে।
  • একটি প্রবাহ হল একটি বিমূর্ততা যা এমন একটি যন্ত্রের প্রতিনিধিত্ব করে যেখানে ইনপুট/আউটপুট অপারেশন করা হয়।
  • একটি প্রবাহকে গন্তব্য বা অনির্দিষ্ট দৈর্ঘ্যের অক্ষরের উৎস হিসাবে উপস্থাপন করা যেতে পারে।
  • Fstream লাইব্রেরি C ++ প্রোগ্রামারদের ফাইল হ্যান্ডলিংয়ের পদ্ধতি প্রদান করে।
  • লাইব্রেরি ব্যবহার করতে, আপনাকে অবশ্যই #include preprocessor নির্দেশিকা ব্যবহার করে এটি আপনার প্রোগ্রামে অন্তর্ভুক্ত করতে হবে।