12 C++ स्ट्रिंग मेथड्स आपको आज ही मास्टर करना चाहिए

सी ++ सबसे शक्तिशाली प्रोग्रामिंग भाषाओं में से एक है जो सॉर्टिंग, सर्चिंग और रिवर्सिंग जैसे संचालन करने के लिए अंतर्निहित विधियों की सहायता से है। जावा और पायथन जैसी अन्य उच्च-स्तरीय प्रोग्रामिंग भाषाओं की तुलना में इन विधियों में आसानी से उपयोग की जाने वाली कमियों को कवर किया गया है।

इस लेख में, आप 12 C++ स्ट्रिंग विधियों के बारे में जानेंगे जो आपके द्वारा उपयोग किए जा रहे कोड के एक अंश में स्ट्रिंग्स पर संचालन करने में आपकी सहायता करती हैं।

सी ++ में स्ट्रिंग तरीके क्या हैं?

स्ट्रिंग विधियां स्ट्रिंग हेडर फ़ाइल में संग्रहीत पूर्व-निर्मित फ़ंक्शन हैं। आप उनका उपयोग स्ट्रिंग हेडर फ़ाइल आयात करके कर सकते हैं:

 #include <string>

इन विधियों को लागू करने के लिए "वेलकम टू एमयूओ" के मान के साथ एक स्ट्रिंग वेरिएबल str पर विचार करें।

 string str = “Welcome To MUO”;

संबंधित: जावास्क्रिप्ट स्ट्रिंग मेथड्स आपको आज ही मास्टर करना चाहिए

1. शुरू ()

सी ++ में प्रारंभ () विधि स्ट्रिंग की शुरुआत में एक पुनरावर्तक देता है। ऑटो कीवर्ड का उपयोग करके एक पुनरावर्तक बनाएं और str.begin() का उपयोग करके स्ट्रिंग चर के प्रारंभिक संदर्भ को संग्रहीत करें नीचे दिया गया कोड कार्यान्वयन दिखाता है:

 auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;

आउटपुट :

 The first character in the string str is: W

2. अंत ()

अंत () स्ट्रिंग विधि इटरेटर को स्ट्रिंग के अंत में लौटाती है। यह कोड स्ट्रिंग चर के अंतिम वर्ण को प्रिंट करता है:

 auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;

आउटपुट :

 The first character in the string s is: O

आप स्ट्रिंग के माध्यम से लूप भी कर सकते हैं और प्रारंभ () और अंत () विधियों का उपयोग करके अलग-अलग वर्णों को प्रिंट कर सकते हैं। ऐसे :

 for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}

3. पुश_बैक ()

पुश_बैक () विधि स्ट्रिंग के अंत में एक वर्ण सम्मिलित करती है। इस ऑपरेशन को करने से, स्ट्रिंग का आकार 1 से बढ़ जाता है।

 str.push_back('!');
cout<<str;

उपरोक्त कोड के आउटपुट में मूल स्ट्रिंग के साथ एक विस्मयादिबोधक (!) चिह्न होगा:

 Welcome To MUO!

आप वर्णों के एक सेट या किसी अन्य स्ट्रिंग को लूप करके और उसे वर्ण द्वारा वर्ण जोड़कर जोड़ सकते हैं। एक स्ट्रिंग वैरिएबल str2 पर विचार करें, जिसका मान "Hi There " है। push_back() विधि का उपयोग करके इस चर को मूल स्ट्रिंग में जोड़ने के लिए:

 string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;

आउटपुट :

 Welcome To MUO! Hi there

4. पॉप_बैक ()

पॉप_बैक () विधि स्ट्रिंग के अंतिम वर्ण को हटा देती है। यहां बताया गया है कि आप इस विधि को स्ट्रिंग str पर कैसे आज़मा सकते हैं:

 str.pop_back();
cout<<str<<endl;

आउटपुट :

 Welcome To MU

5. आकार ()

आकार () विधि आपको स्ट्रिंग की लंबाई की गणना करने में मदद करती है।

 cout<<"The size of the string str is "<<str.size()<<endl;

6. कॉपी ()

कॉपी () विधि एक पूर्ण स्ट्रिंग या उप-स्ट्रिंग की प्रतिलिपि बनाती है। यह तीन तर्कों को स्वीकार करता है: वर्ण सरणी, सबस्ट्रिंग की लंबाई, और वह स्थिति जहां से स्ट्रिंग को कॉपी करना शुरू करना चाहिए।

 char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;

आउटपुट :

 The value in str2: lcome

7. स्वैप ()

स्वैप () विधि आपको दो तारों को एक दूसरे के साथ स्वैप करने में मदद करती है। इस विधि के लिए वाक्य रचना है:

 string1.swap(string2)

यह विधि एक स्ट्रिंग चर को एक तर्क के रूप में स्वीकार करती है। आप इस विधि को उस स्ट्रिंग पर चला सकते हैं जिसे आप स्वैप करना चाहते हैं और परिणामों की जांच के लिए प्रिंट कर सकते हैं।

 string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;

आउटपुट :

 String 1 str: Hi There
String 2 str2: Welcome To MUO

संबंधित: C++, Python, और JavaScript में दो वेरिएबल को स्वैप कैसे करें?

8. गेटलाइन ()

गेटलाइन () विधि इनपुट के दौरान स्वीकृत वर्णों की एक धारा को संग्रहीत करती है। यह विधि दो तर्कों को स्वीकार करती है: cin और स्ट्रिंग चर।

 string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;

आउटपुट :

 Enter a string
Welcome to MUO

9. आकार बदलें ()

आकार बदलें () विधि स्ट्रिंग की लंबाई को गतिशील रूप से बढ़ाकर या घटाकर बदल देती है। यह एक तर्क को स्वीकार करता है: वह लंबाई जिससे आप अपनी स्ट्रिंग का आकार बदलना चाहते हैं।

 str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;

आउटपुट :

 The value of str after resizing it: Welcome To

10. क्षमता ()

C++ में क्षमता () विधि स्ट्रिंग को आवंटित क्षमता लौटाती है। यह स्ट्रिंग की लंबाई के बराबर या उससे अधिक हो सकता है।

 cout<<"The capacity of the string is "<<str.capacity()<<endl;

11. स्टोई ()

Stoi () विधि एक स्ट्रिंग के रूप में एक संख्या को उसके संख्यात्मक मान में बदलने में मदद करती है। यह एक पैरामीटर स्वीकार करता है: स्ट्रिंग चर। यदि आपके स्ट्रिंग वेरिएबल में संख्याओं के अलावा अन्य वर्ण हैं, तो यह उन्हें फ़िल्टर कर देगा। लेकिन इस पद्धति के काम करने के लिए, गैर-संख्यात्मक स्ट्रिंग वर्णों को संख्याओं का पालन करना चाहिए। यदि वर्ण संख्याओं से पहले दिखाई देते हैं, तो यह एक त्रुटि लौटाएगा।

उपरोक्त ऑपरेशन से पहले, सुनिश्चित करें कि आप इसे प्रिंट करने से पहले एक पूर्णांक चर में संग्रहीत करते हैं। यहाँ एक उदाहरण है:

 string s1 = "123";
int v1 = stoi(s1);
cout<<"Stoi() for s1: "<<v1<<endl;
string s2 = "123 pass";
int v2 = stoi(s2);
cout<<"Stoi() for s2: "<<v2;

आउटपुट :

 Stoi() for s1: 123
Stoi() for s2: 123

12. आरबीगिन () और रेंडर ()

rbegin () विधि रिवर्स इटरेटर के संदर्भ को अंत में स्ट्रिंग में लौटाती है। इसी तरह, रेंडर () विधि शुरुआत में स्ट्रिंग में स्टार्ट इटरेटर का संदर्भ देता है।

 auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;

आप rbegin () और रेंडर () विधियों का उपयोग करके स्ट्रिंग के रिवर्स को भी प्रिंट कर सकते हैं। ऐसा करने के लिए, आप स्ट्रिंग के माध्यम से लूप कर सकते हैं और इसे चरित्र द्वारा चरित्र प्रिंट कर सकते हैं।

 for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}

आउटपुट :

 The last character is: O
The first character is: W
OUM oT emocleW

सी++ सीखने में एक कदम आगे बढ़ें

अब जब आपने स्ट्रिंग हेडर की विभिन्न स्ट्रिंग विधियों को लागू करना सीख लिया है, तो आप सी ++ हेडर फ़ाइलों में अधिक पूर्व-निर्मित विधियों की खोज करने में आत्मविश्वास महसूस कर सकते हैं। सॉर्ट () और रिवर्स () से लेकर बाइनरी_सर्च () तक , बहुत कम सी ++ एसटीएल कोडिंग की दुनिया में पूरा नहीं कर सकता है।

मानक टेम्पलेट लाइब्रेरी के बारे में जानने के लिए समय निकालना सभी स्तरों के C++ प्रोग्रामर के लिए एक उत्कृष्ट निवेश है। मानक टेम्पलेट लाइब्रेरी प्रोग्रामिंग को आसान और कुशल बनाने के लिए अंतर्निहित कार्य, सामान्य डेटा संरचना और आसान एल्गोरिदम प्रदान करती है।