C ++ এ substr () ফাংশন কিভাবে ব্যবহার করবেন

How Use Substr Function C



স্ট্রিং থেকে যে কোনো অংশ কাটার উপায়কে সাব স্ট্রিং বলে। একটি স্ট্রিং থেকে একটি নির্দিষ্ট অংশ কেটে নতুন স্ট্রিং তৈরি করতে C ++ এ substr () ফাংশন বিদ্যমান। দ্য string.h এই ফাংশন ব্যবহার করার জন্য লাইব্রেরি ফাইল অন্তর্ভুক্ত করা প্রয়োজন। এই ফাংশনের দুটি যুক্তি রয়েছে। প্রথম যুক্তিতে নতুন স্ট্রিংয়ের শুরুর অবস্থান রয়েছে এবং দ্বিতীয় যুক্তিতে স্ট্রিংটির দৈর্ঘ্য রয়েছে। C ++ এ substr () ফাংশন ব্যবহারের উপায় এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে।

পূর্ব-প্রয়োজনীয়

এই টিউটোরিয়ালের উদাহরণগুলি পরীক্ষা করার আগে, আপনাকে জি ++ কম্পাইলারটি ইনস্টল করা আছে কিনা তা পরীক্ষা করতে হবে। আপনি যদি ভিসুয়াল স্টুডিও কোড ব্যবহার করেন, তাহলে এক্সিকিউটেবল কোড তৈরি করতে C ++ সোর্স কোড কম্পাইল করার জন্য প্রয়োজনীয় এক্সটেনশন ইনস্টল করুন। এখানে, ভিসুয়াল স্টুডিও কোড অ্যাপ্লিকেশনটি সি ++ কোড কম্পাইল এবং এক্সিকিউট করতে ব্যবহৃত হয়েছে।







বাক্য গঠন

স্ট্রিং substr (size_t pos = 0, size_t len ​​= npos) const;



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



উদাহরণ 1: substr () এর সহজ ব্যবহার

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





// প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত


intপ্রধান() {
// একটি স্ট্রিং ভেরিয়েবল সংজ্ঞায়িত করুন
ঘন্টার::স্ট্রিংমূল='লিনাক্সহিন্টে স্বাগতম';
// সাবস্ট্রিং () ব্যবহার করে সাব স্ট্রিং কাটুন
ঘন্টার::স্ট্রিংনতুন=মূলস্তর (এগারো,9);
// মূল স্ট্রিং মুদ্রণ করুন
ঘন্টার::খরচ <<'মূল স্ট্রিং হল:' <<মূল<< 'n';
// সাব স্ট্রিং প্রিন্ট করুন
ঘন্টার::খরচ <<'সাবস্ট্রিং হল:' <<নতুন<< 'n';

প্রত্যাবর্তন 0;
}

আউটপুট:

কোড অনুযায়ী, মূল স্ট্রিং হল ' LinuxHint এ স্বাগতম '। 11 টি উপ-স্ট্রিংয়ের প্রারম্ভিক অবস্থান হিসাবে দেওয়া হয়েছে যা 'এল' অক্ষরের অবস্থান এবং 9 টি উপ-স্ট্রিংয়ের দৈর্ঘ্য মান হিসাবে দেওয়া হয়েছে। ' লিনাক্সহিন্ট কোডটি কার্যকর করার পরে 'substr () ফাংশনের আউটপুট হিসাবে ফিরে এসেছে।



উদাহরণ 2: একটি নির্দিষ্ট স্ট্রিং এর অবস্থানের উপর ভিত্তি করে substr () ব্যবহার করা

নির্দিষ্ট স্ট্রিংটির অবস্থান অনুসন্ধান করার পর নিম্নলিখিত কোডটি সাব-স্ট্রিং তৈরি করবে। কোডটি পরীক্ষা করতে নিচের কোড সহ একটি C ++ ফাইল তৈরি করুন। একাধিক শব্দের একটি স্ট্রিং মান কোডে সংজ্ঞায়িত করা হয়েছে। পরবর্তী, একটি নির্দিষ্ট স্ট্রিং এর অবস্থান অনুসন্ধান করুন () ফাংশন ব্যবহার করে প্রধান স্ট্রিং এ অনুসন্ধান করা হয়। Substr () ফাংশনটি স্ট্রিং এর শুরু থেকে শুরু করে অবস্থান মান পর্যন্ত সাব-স্ট্রিং তৈরি করতে ব্যবহৃত হয়েছে যা find () ফাংশন দ্বারা ফেরত দেওয়া হবে।

// প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
ব্যবহার নামস্থানঘন্টার;

intপ্রধান()
{
ঘন্টার::স্ট্রিংstrData= 'আমি C ++ প্রোগ্রামিং পছন্দ করি';

// str.find () ব্যবহার করে '-' এর অবস্থান খুঁজে বের করা যাক
intঅবস্থান=strData।অনুসন্ধান('প্রোগ্রামিং');

// আমরা এই প্যাটার্ন পর্যন্ত স্তর পেতে হবে
ঘন্টার::স্ট্রিংনতুন=strData।স্তর(0, অবস্থান);

ঘন্টার::খরচ <<strData<< 'n';
ঘন্টার::খরচ <<নতুন<< 'n';

প্রত্যাবর্তন 0;
}

আউটপুট:

কোড অনুযায়ী, মূল স্ট্রিং মান হল, আমি C ++ প্রোগ্রামিং পছন্দ করি এবং অনুসন্ধানের স্ট্রিংটির মান হল, ' প্রোগ্রামিং ’ যা মূল স্ট্রিংয়ে বিদ্যমান। সুতরাং, আউটপুট হল, ' আমি C ++ পছন্দ করি 'কোডটি কার্যকর করার পর।

উদাহরণ 3: ব্যতিক্রম হ্যান্ডলিং সহ substr () ব্যবহার করা

Substr () ফাংশন নিম্নলিখিত কোডে ব্যতিক্রম হ্যান্ডলিং ব্যবহার করা হয়েছে। অবৈধ প্রারম্ভিক অবস্থানটি substr () ফাংশনে দেওয়া হলে ব্যতিক্রমটি তৈরি হবে। কোডটি পরীক্ষা করতে নিচের কোড সহ একটি C ++ ফাইল তৈরি করুন। ট্রাই ব্লকে, একটি শব্দের একটি স্ট্রিং মান বরাদ্দ করা হয়েছে, এবং একটি অবৈধ প্রারম্ভিক অবস্থান substr () ফাংশনে ব্যবহার করা হয়েছে যা একটি ব্যতিক্রম উত্থাপন করবে এবং ত্রুটি বার্তাটি মুদ্রণ করবে।

// প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান() {
চেষ্টা করুন{

// একটি স্ট্রিং ভেরিয়েবল সংজ্ঞায়িত করুন
ঘন্টার::স্ট্রিংমূল='লিনাক্সহিন্ট';
// সাবস্ট্রিং () ব্যবহার করে সাব স্ট্রিং কাটুন
ঘন্টার::স্ট্রিংনতুন=মূলস্তর (এগারো,9);
// সাব স্ট্রিং প্রিন্ট করুন
ঘন্টার::খরচ <<'সাবস্ট্রিং হল:' <<নতুন<< 'n';
}
ধরা (constঘন্টার::সীমার বাইরে) {
ঘন্টার::সের << 'অবস্থান সীমার বাইরে।n';
}
প্রত্যাবর্তন 0;
}

আউটপুট:

কোড অনুযায়ী, মূল স্ট্রিং মান হল, লিনাক্সহিন্ট এবং শুরুর অবস্থানের মান 11 যা বিদ্যমান নেই। সুতরাং, ব্যতিক্রমটি তৈরি করা হয়েছে এবং কোডটি কার্যকর করার পরে ত্রুটি বার্তাটি মুদ্রিত হয়েছে।

উদাহরণ 4: স্ট্রিং বিভক্ত করতে substr () ব্যবহার করা

নিচের উদাহরণটি একটি সীমাবদ্ধতার উপর ভিত্তি করে একটি স্ট্রিং বিভক্ত করার জন্য substr () ফাংশনের ব্যবহার দেখায়। Find () ফাংশনটি ডিলিমিটার পজিশন সার্চ করার জন্য ব্যবহার করা হয়েছে, এবং erase () ফাংশনটি ডিলিমিটার দিয়ে বিভক্ত স্ট্রিং মুছে ফেলার জন্য ব্যবহার করা হয়েছে। 'যখন' লুপটি প্রধান স্ট্রিংয়ে ডিলিমিটারের সমস্ত অবস্থান খুঁজে পেতে এবং বিভক্ত মানকে ভেক্টর অ্যারেতে সংরক্ষণ করতে ব্যবহার করেছে। পরবর্তী, ভেক্টর অ্যারের মানগুলি মুদ্রিত হয়েছে।

// প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত

intপ্রধান(){
// স্ট্রিং সংজ্ঞায়িত করুন
ঘন্টার::স্ট্রিংstringData= 'পিএইচপি: সি ++: পাইথন:';
// বিভাজক সংজ্ঞায়িত করুন
ঘন্টার::স্ট্রিংবিভাজক= ':';
// ভেক্টর ভেরিয়েবল ঘোষণা করুন
ঘন্টার::ভেক্টরভাষা{};
// পূর্ণসংখ্যা পরিবর্তনশীল ঘোষণা করুন
intঅবস্থান;
// স্ট্রিং ভেরিয়েবল ঘোষণা করুন
ঘন্টার::স্ট্রিংoutstr;
/ *
Substr () ফাংশন ব্যবহার করে স্ট্রিং বিভক্ত করুন
এবং ভেক্টরে বিভক্ত শব্দ যোগ করা
* /

যখন ((অবস্থান=stringData।অনুসন্ধান(বিভাজক)) !=ঘন্টার::স্ট্রিং::npos) {
ভাষাফেরত পাঠাও(stringData।স্তর(0, অবস্থান));
stringData।মুছে ফেলা(0, অবস্থান+বিভাজক।দৈর্ঘ্য());
}
// সমস্ত বিভক্ত শব্দ মুদ্রণ করুন
জন্য (const স্বয়ংক্রিয় &outstr:ভাষা) {
ঘন্টার::খরচ <<outstr<<ঘন্টার::endl;
}
প্রত্যাবর্তন 0;
}

আউটপুট:

কোড অনুযায়ী, মূল স্ট্রিং মান হল পিএইচপি: সি ++: পাইথন এবং ডিলিমিটারের মান হল, ' : ’ । উপরের স্ক্রিপ্টটি চালানোর পর নিম্নলিখিত আউটপুটটি প্রদর্শিত হবে।

উপসংহার

Substr () ফাংশন ব্যবহার করার মূল উদ্দেশ্য হল স্ট্রিং থেকে একটি স্ট্রিং পুনরুদ্ধার করা শুরু করার অবস্থান এবং সাব-স্ট্রিং এর দৈর্ঘ্য উল্লেখ করে। এই ফাংশনের বিভিন্ন ব্যবহার এই টিউটোরিয়ালে ব্যাখ্যা করা হয়েছে একাধিক উদাহরণ ব্যবহার করে নতুন C ++ ব্যবহারকারীদের তাদের কোডে সঠিকভাবে ব্যবহার করতে সাহায্য করার জন্য।