সমাধান: পাথ থেকে ফাইলের নাম পান

সর্বশেষ আপডেট: 09/11/2023
লেখক: C SourceTrail

অবশ্যই, আসুন C++ এর সাহায্যে একটি পাথ থেকে ফাইলের নাম পাওয়ার বিষয়ে আলোচনা করা যাক।

ভূমিকা
একটি পাথ থেকে ফাইলের নাম বের করা প্রোগ্রামিং-এ একটি ঘন ঘন কাজ, বিশেষ করে ফাইল পরিচালনার সাথে জড়িত অপারেশনগুলিতে। এই নিবন্ধটি কীভাবে C++ ব্যবহার করে এই কাজটি সম্পন্ন করতে হয় তার একটি গভীর ব্যাখ্যা প্রদান করে। নিবন্ধের শেষে, আপনি এই সমস্যার সমাধান বুঝতে এবং বাস্তবায়ন করতে সক্ষম হবেন।

সমাধান
সমাধানটি C++ স্ট্যান্ডার্ড লাইব্রেরি দ্বারা প্রদত্ত অন্তর্নির্মিত ফাংশনগুলি ব্যবহার করে জড়িত। আমরা যে লাইব্রেরিতে ফোকাস করব সেটি হল ফাইলসিস্টেম লাইব্রেরি, C++17 এ চালু করা হয়েছে। এটি ফাইল এবং ডিরেক্টরি ম্যানিপুলেট করার জন্য বিভিন্ন কার্যকারিতা প্রদান করে।

# অন্তর্ভুক্ত
std::string get_filename(std::string path){
ফিরুন std::filesystem::path(path).filename().string();
}

কোড বোঝা
get_filename ফাংশনটি একটি স্ট্রিং আর্গুমেন্ট – পাথ নেয় এবং ফাইলের নাম প্রদান করে। ফাংশনটি ফাইল সিস্টেম লাইব্রেরি ব্যবহার করে। আমরা প্রদত্ত পাথ স্ট্রিং সহ একটি ফাইল সিস্টেম::পথ অবজেক্ট তৈরি করি এবং ফাইলের নাম পেতে filename() পদ্ধতি ব্যবহার করি। ফাইলের নাম তারপর string() পদ্ধতি ব্যবহার করে একটি স্ট্রিং এ রূপান্তরিত হয় এবং ফাংশন দ্বারা ফিরে আসে।

  • প্রথম লাইনটি হল যেখানে আমরা আমাদের কোডে ফাইল সিস্টেম লাইব্রেরি অন্তর্ভুক্ত করি।
  • get_filename ফাংশন একটি স্ট্রিং আর্গুমেন্ট পাথ দিয়ে সংজ্ঞায়িত করা হয়।
  • আমরা পাথ স্ট্রিং দিয়ে একটি ফাইল সিস্টেম::পথ অবজেক্ট তৈরি করি।
  • ফাইলের নাম পাওয়ার জন্য ফাইলের নাম পদ্ধতিটি ফাইল সিস্টেম::পথ অবজেক্টে বলা হয়।
  • তারপর ফাইলের নাম string() পদ্ধতি ব্যবহার করে একটি স্ট্রিং এ রূপান্তরিত হয়।

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

C++17 স্ট্যান্ডার্ড ফাইল-সিস্টেম লাইব্রেরি প্রবর্তন করেছে, যা ফাইলপাথ, ফাইল এবং ডিরেক্টরিতে ক্রিয়াকলাপ সম্পাদনের লক্ষ্যে ক্লাস এবং ফাংশনগুলির একটি সিরিজ নিয়ে গঠিত। এর একটি ক্লাস - ফাইল সিস্টেম::পথ, পাথ থেকে ফাইলের নাম বের করতে আমাদের সমাধানে ব্যবহৃত হয়।

এই লাইব্রেরিটি আপনাকে ক্রিয়াকলাপ সম্পাদন করতে দেয় যেমন পড়া, লেখা, ফাইলগুলি পুনঃনামকরণ, ডিরেক্টরি তৈরি করা এবং অপসারণ করা ইত্যাদি, C++ এ ফাইল সিস্টেম ম্যানিপুলেশনগুলিকে তীব্রভাবে সরল করা।

বিকল্প পদ্ধতি

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

# অন্তর্ভুক্ত
std::string get_filename_old(std::string path){
std::size_t found = path.find_last_of(“/\”);
return path.substr(found+1);
}

সংক্ষেপে, C++ এ ফাইল সিস্টেম লাইব্রেরি ব্যবহার করে একটি পাথ থেকে ফাইলের নাম বের করা সম্ভব। লাইব্রেরির কার্যকারিতার সাথে পরিচিত হওয়া অপরিহার্য কারণ ফাইল হ্যান্ডলিং অনেক প্রোগ্রামিং কাজগুলিতে প্রচলিত।

সম্পর্কিত পোস্ট: