string functions c
इस ट्यूटोरियल में, हम C ++ में कुछ लोकप्रिय स्ट्रिंग फंक्शन्स पर चर्चा करेंगे जैसे गेटलाइन सबस्ट्रिंग, स्ट्रिंग लेंथ, स्ट्रिंग फाइंड, स्प्लिट स्ट्रिंग आदि।:
C ++ में एक स्ट्रिंग क्लास है जो कि वर्णों के अनुक्रम के लिए उपयोग की जाती है जिसे स्ट्रिंग्स के रूप में भी जाना जाता है। यह वर्ग है एसटीडी :: स्ट्रिंग । यह वर्ग स्ट्रिंग्स को चरित्र बाइट्स के अनुक्रम के रूप में संग्रहीत करता है और ऐसे फ़ंक्शंस प्रदान करता है जो हमें हेरफेर करने, एक्सेस करने और पढ़ने के साथ-साथ एकल अक्षरों तक पहुँच और हेरफेर करने की अनुमति देते हैं।
सी ++ चयन सॉर्ट एल्गोरिथ्म
=> विशेषज्ञों से पूरा सी ++ कोर्स के लिए यहां जाएं।
आप क्या सीखेंगे:
C ++ स्ट्रिंग फ़ंक्शंस
C ++ स्ट्रिंग वर्णों का एक क्रम है। जब हम C ++ में स्ट्रिंग्स को परिभाषित करते हैं, तो हम एक स्ट्रिंग का उपयोग करते हैं
कीवर्ड जो std :: string class के अलावा कुछ भी नहीं है। यह स्ट्रिंग क्लास स्ट्रिंग को पढ़ने, हेरफेर करने, स्ट्रिंग एक्सेस करने आदि से विभिन्न कार्यों का समर्थन करती है जो स्ट्रिंग ऑब्जेक्ट्स पर अलग-अलग ऑपरेशन करते हैं। कुछ अक्सर उपयोग किए जाने वाले कार्य नीचे सूचीबद्ध हैं-
ऐसा न करें | स्ट्रिंग फ़ंक्शन | विवरण |
---|---|---|
1 | लाइन में आओ | स्ट्रीम से स्ट्रिंग तक लाइन हो जाती है |
दो | पदार्थ | किसी दिए गए स्ट्रिंग का एक विकल्प प्राप्त करें |
४ | लंबाई, स्ट्रैलेन | स्ट्रिंग की लंबाई प्राप्त करें |
५ | खोज | स्ट्रिंग में सामग्री ढूंढें |
६ | स्ट्रिटोक, सीमांकक के साथ पदार्थ | टोकन में स्ट्रिंग विभाजित करें |
गेटलाइन C ++
समारोह प्रोटोटाइप: istream और getline (istream और is, string & str)
पैरामीटर: is => istream ऑब्जेक्ट जिसमें से वर्ण निकाले जाते हैं।
str => स्ट्रिंग ऑब्जेक्ट जो निकाले गए वर्ण को संग्रहीत करने के लिए उपयोग किया जाता है।
प्रतिलाभ की मात्रा: वापसी मूल्य वैसा ही है जैसा कि istream है। आंतरिक रूप से, गेटलाइन का निष्पादन कुछ आंतरिक झंडे निम्नानुसार सेट करता है।
झंडा | त्रुटि विवरण |
---|---|
अहंकारी | चरित्र स्रोत का अंत पहुँच गया |
असफल होना | इनपुट की व्याख्या इस प्रकार की वस्तु के वैध पाठ्य प्रतिनिधित्व के रूप में नहीं की जा सकती है |
बदमाश | उपरोक्त दो को छोड़कर कोई अन्य त्रुटि |
विवरण: getline एक मानक लाइब्रेरी फंक्शन है। इस फ़ंक्शन का उपयोग एक मानक इनपुट स्ट्रीम जैसे कि आइट्रीम से एक लाइन या स्ट्रिंग पढ़ने के लिए किया जाता है। रेखाओं या तारों को तब तक पढ़ा जाता है जब तक कि ' n' जिसे परिसीमन वर्ण नहीं माना जाता।
गेटलाइन के एक अलग संस्करण के रूप में, एक तीसरा पैरामीटर 'चारिम डेलिम' निर्दिष्ट किया जा सकता है। यह स्पष्ट रूप से निर्दिष्ट एक सीमांत चरित्र है। इस फ़ंक्शन में, टेक्स्ट या स्ट्रिंग की एक पंक्ति को तब तक पढ़ा जाएगा जब तक निर्दिष्ट सीमांकक वर्ण सामने नहीं आता है।
नीचे दिए गए गेटलाइन के उपयोग को प्रदर्शित करने के लिए एक सरल उदाहरण है।
उदाहरण:
#include #include using namespace std; int main() { string mystr; cout<<'Enter the input string:'< आउटपुट:
इनपुट स्ट्रिंग दर्ज करें:
सी ++ ट्यूटोरियल
आपने दर्ज किया: C ++ ट्यूटोरियल

उपरोक्त उदाहरण में, हमने गेटलाइन फ़ंक्शन का उपयोग करके एक इनपुट स्ट्रिंग पढ़ी। ध्यान दें कि दर्ज किए गए तार या पाठ स्ट्रिंग ऑब्जेक्ट मिस्ट में पढ़े जाते हैं जब तक कि is n का सामना नहीं किया जाता है।
C ++ सबस्ट्रेट
समारोह प्रोटोटाइप: स्ट्रिंग रूट (size_t startpos, size_t एंडपोज़)
पैरामीटर: startpos => वह स्थान जिससे स्टार्टिंग को निकाला जाना है।
endpos => स्थानापन्न की अंतिम स्थिति।
प्रतिलाभ की मात्रा: एक स्ट्रिंग देता है जो मूल स्ट्रिंग का एक विकल्प है।
विवरण: यह फ़ंक्शन किसी दिए गए स्ट्रिंग का एक विकल्प देता है। फ़ंक्शन पैरामीटर के रूप में प्रारंभ और अंत की स्थिति लेता है और फिर इन पदों के बीच चरित्र का अनुक्रम लौटाता है।
उदाहरण:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = mystr.substr(0,8); cout<<'Input string : '< आउटपुट:
इनपुट स्ट्रिंग: SoftwareTestingHelp
पदार्थ (0,8): सॉफ्टवेयर

सी ++ लंबाई
स्ट्रिंग की लंबाई स्ट्रिंग में मौजूद वर्णों की संख्या है। Std :: C ++ में स्ट्रिंग्स का स्ट्रिंग ऑब्जेक्ट प्रतिनिधित्व लंबाई की लंबाई को वापस करने के लिए लंबाई () फ़ंक्शन का उपयोग करता है।
इसके अलावा, हमारे पास एक आकार विधि भी है जो स्ट्रिंग के आकार को लौटाती है। हमने लंबाई () फ़ंक्शन के लिए नीचे दिखाए गए उदाहरण में आकार विधि का उपयोग किया है। एक अन्य फ़ंक्शन जो स्ट्रिंग की लंबाई लौटाता है, वह है 'strlen'। यह फ़ंक्शन वर्ण सरणी द्वारा चिह्नित स्ट्रिंग की लंबाई देता है।
हम उदाहरण के साथ एक-एक करके दोनों कार्यों को देखेंगे।
लंबाई ()
समारोह प्रोटोटाइप: size_t लंबाई ()
पैरामीटर: स्ट्रिंग द्वारा लगाया गया जिसकी लंबाई ज्ञात की जानी है।
प्रतिलाभ की मात्रा: एक size_t प्रकार का पैरामीटर देता है जो स्ट्रिंग की लंबाई है।
विवरण: यह फ़ंक्शन स्ट्रिंग ऑब्जेक्ट की लंबाई पाता है जिसके द्वारा इसे लागू किया जाता है।
उदाहरण:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; cout<<'Input string : '< आउटपुट:
इनपुट स्ट्रिंग: SoftwareTestingHelp
स्ट्रिंग की लंबाई (लंबाई विधि के साथ) है: 19
स्ट्रिंग का आकार (आकार विधि के साथ) है: 19

उपरोक्त कार्यक्रम में, हम लंबाई का उपयोग करते हैं और साथ ही std :: string के आकार प्रकार्यों का उपयोग करते हैं, जो क्रमशः स्ट्रिंग ऑब्जेक्ट की लंबाई और आकार लौटाता है। जैसे ही लंबाई और आकार स्ट्रिंग में वर्णों की संख्या लौटाते हैं, हमें वही आउटपुट मिलता है।
स्ट्रलेन ()
समारोह प्रोटोटाइप: size_t strlen (const char * str);
पैरामीटर: str => एक शून्य-समाप्त स्ट्रिंग की ओर इशारा करता है जिसकी लंबाई का पता लगाना है।
यूनिक्स उदाहरण और वाक्यविन्यास के साथ आदेश देता है
वापसी मूल्य: आर eturns size_t मान स्ट्रिंग स्ट्रिंग की लंबाई को दर्शाता है।
विवरण: strlen () फ़ंक्शन नल-समाप्त स्ट्रिंग की लंबाई लौटाता है। स्ट्रिंग जिसे स्ट्रेन फ़ंक्शन द्वारा एक पैरामीटर के रूप में लिया जाता है, एक अशक्त-वर्ण वर्ण सरणी है।
उदाहरण:
#include #include using namespace std; int main() { char mystr1() = 'This a our first string'; char mystr2() = 'This is our second string'; int len_mystr1 = strlen(mystr1); int len_mystr2 = strlen(mystr2); cout << 'Length of mystr1 = ' << len_mystr1 << endl; cout << 'Length of mystr2 = ' << len_mystr2 << endl; if (len_mystr1> len_mystr2) cout << 'mystr1 is longer than mystr2'; else if (len_mystr1 < len_mystr2) cout << 'mystr2 is longer than mystr1'; else cout << 'mystr1 and mystr2 are equal in length'; return 0; }
आउटपुट:
रहस्य की लंबाई = 23
रहस्य 2 की लंबाई = 25
mystr2 रहस्यमय से ज्यादा लंबा है

उपरोक्त कार्यक्रम में, हमने दो अलग-अलग तारों को परिभाषित किया है और हम स्ट्रेंल फ़ंक्शन का उपयोग करके उनकी व्यक्तिगत लंबाई पाते हैं। फिर हम दो तारों की लंबाई की तुलना करते हैं और निर्धारित करते हैं कि तार बराबर या असमान हैं।
C ++ ढूँढें
समारोह प्रोटोटाइप: size_t (स्ट्रिंग mysub) खोजें
पैरामीटर: mysub => मूल स्ट्रिंग के अंदर खोजने के लिए स्ट्रिंग ऑब्जेक्ट।
प्रतिलाभ की मात्रा: size_t => पैरेंट स्ट्रिंग में सबस्ट्रिंग की पहली स्थिति
विवरण: मूल स्ट्रिंग में प्रतिस्थापन की स्थिति का पता लगाने के लिए स्ट्रिंग के खोज कार्य का उपयोग किया जाता है। यह फ़ंक्शन पैरेंट स्ट्रिंग द्वारा लागू किया जाता है और एक प्रतिस्थापन जिसका स्थान पाया जाना है को एक पैरामीटर के रूप में पारित किया जाता है। यदि सबस्ट्रिंग मौजूद नहीं है, तो एक खाली स्थिति वापस आ जाती है।
उदाहरण:
#include #include using namespace std; int main() { string mystr = 'SoftwareTestingHelp'; string mysub = 'Test'; size_t pos = mystr.find(mysub); if (pos != string::npos) cout << 'First occurrence of string '< आउटपुट:
स्ट्रिंग टेस्ट की पहली घटना: 8
स्ट्रिंग सहायता की पहली घटना: 15

यह प्रोग्राम 'SoftwareTestingHelp' के रूप में एक स्ट्रिंग को परिभाषित करता है। खोज फ़ंक्शन का उपयोग करके हम पेरेंट स्ट्रिंग में स्ट्रिंग 'टेस्ट' की पहली घटना पाते हैं। अगला, हम 'सहायता' स्ट्रिंग की घटना पाते हैं। आउटपुट खोजे गए स्ट्रिंग की घटना की स्थिति है।
स्प्लिट स्ट्रिंग
एक सीमांकक या एक टोकन का उपयोग करके एक स्ट्रिंग को विभाजित करना एक उपयोगी ऑपरेशन है। C ++ में, जैसा कि हमारे पास स्ट्रिंग्स का एक से अधिक प्रतिनिधित्व है, हम एक स्ट्रिंग को विभाजित करने के लिए विभिन्न तरीकों का उपयोग कर सकते हैं। यहां, हम एक स्ट्रिंग को विभाजित करने के लिए दो दृष्टिकोणों पर चर्चा करेंगे।
विभाजन std :: string Object
एक स्ट्रिंग ऑब्जेक्ट को विभाजित करने का सबसे आसान तरीका ऑब्जेक्ट पर function 'रूट फ़ंक्शन का उपयोग करना है और अंतिम स्थिति के रूप में सीमांकक प्रदान करना है ताकि हमें विकल्प मिल सके। इस तरह, हम स्ट्रिंग को सीमांकक पर विभाजित कर सकते हैं जब तक कि हमने पूरे स्ट्रिंग का पता नहीं लगाया है।
नीचे दिए गए उदाहरण को देखते हैं कि पहले 'फाइंड' फ़ंक्शन का उपयोग करके सीमांकक की स्थिति का पता लगाता है और फिर सबटैंक को ढूँढता है और अंत में प्रत्येक टोकन को आउटपुट करता है।
#include #include using namespace std; int main() { string mystr = 'This_is_software_testing_help'; string delimiter = '_'; size_t pos = 0; string token; while ((pos = mystr.find(delimiter)) != std::string::npos) { token = mystr.substr(0, pos); cout << token << endl; mystr.erase(0, pos + delimiter.length()); } cout << mystr<< endl; }
आउटपुट:
इस
है
सॉफ्टवेयर
परिक्षण
मदद

जैसा कि उपरोक्त कार्यक्रम में दिखाया गया है, हम एक सीमांकक निर्दिष्ट करते हैं जिसका उपयोग दिए गए स्ट्रिंग को विभाजित करने के लिए किया जाएगा। एक लूप में, हम बार-बार खोज फ़ंक्शन का उपयोग करके सीमांकक की घटना को पाते हैं और इसे रूट फ़ंक्शन में पास करते हैं और प्रतिस्थापन को पुनः प्राप्त करते हैं। फिर प्राप्त इन टोकन में से प्रत्येक को आउटपुट के रूप में प्रदर्शित किया जाता है।
स्ट्रेटोक फंक्शन का उपयोग करके कैरेक्टर एरे को विभाजित करना
स्ट्रिंग (डिमाइटर का उपयोग करके स्ट्रिंग को विभाजित करना) का एक और तरीका t स्ट्रटोक ’फ़ंक्शन का उपयोग करके है। हम नीचे दिए गए 'strtok' फ़ंक्शन की बारीकियों पर चर्चा करेंगे।
समारोह प्रोटोटाइप: char* strtok(char str (), const char *delim)
पैरामीटर: str () => विभाजित होने के लिए स्ट्रिंग।
कैसे एडोब फ़्लैश प्लेयर के साथ swf खोलने के लिए
Delim => Delimiter जिस पर स्ट्रिंग को विभाजित किया जाना है।
प्रतिलाभ की मात्रा: पेरेंट स्ट्रिंग को विभाजित करने के बाद अगला टोकन लौटाता है।
विवरण: स्ट्रैटोक फ़ंक्शन दिए गए स्ट्रिंग को दिए गए सीमांकक में टोकन में विभाजित करता है। इस फ़ंक्शन को एक लूप में बुलाया जाना चाहिए ताकि हम किसी दिए गए स्ट्रिंग के लिए सभी टोकन प्राप्त करें। जब अधिक टोकन बचे नहीं होते हैं, तो फ़ंक्शन शून्य हो जाता है।
उदाहरण:
#include #include using namespace std; int main() { char mystr() = 'This_is_software_testing_help'; char *token = strtok(mystr, '_'); while (token != NULL) { cout< आउटपुट:
इस
है
सॉफ्टवेयर
परिक्षण
मदद

ध्यान दें कि, इस कार्यक्रम में, हम strtok फ़ंक्शन का उपयोग करते हैं जो तर्कों के रूप में एक स्ट्रिंग और सीमांकक लेता है। फिर यह स्ट्रिंग को टोकन में विभाजित करता है, निर्दिष्ट सीमांकक के आधार पर और व्यक्तिगत टोकन प्रदर्शित करता है।
निष्कर्ष
हमने इस ट्यूटोरियल में C ++ स्ट्रिंग्स के लिए उपयोग किए जाने वाले कुछ सामान्य महत्वपूर्ण कार्यों को देखा है।
हमने एक इनपुट स्ट्रिंग को पढ़ने, एक स्ट्रिंग खोजने, पैरेंट स्ट्रिंग के स्ट्रिंग, स्ट्रिंग की लंबाई, एक स्ट्रिंग को विभाजित करने, आदि के साथ-साथ उनकी विविधताओं के बारे में चर्चा की। ये फ़ंक्शन हमें स्ट्रिंग को कुशलतापूर्वक पढ़ने और हेरफेर करने में मदद करते हैं।
हमारे अगले ट्यूटोरियल में, हम C ++ स्ट्रिंग के साथ उपयोग किए गए कुछ रूपांतरण कार्यों को विस्तार से देखेंगे।
=> सभी के लिए संपूर्ण C ++ प्रशिक्षण श्रृंखला देखने के लिए यहां जाएं।
अनुशंसित पाठ
- पायथन स्ट्रिंग फ़ंक्शंस
- स्ट्रिंग स्ट्रिंग बफर और स्ट्रिंग बिल्डर ट्यूटोरियल के साथ जावा स्ट्रिंग
- C ++ कैरेक्टर कनवर्ज़न फंक्शन्स: char to int, char to string
- VBScript स्ट्रिंग फ़ंक्शंस: VBScript inStr, बदलें, मध्य और ट्रिम फ़ंक्शंस
- पायथन स्ट्रिंग स्प्लिट ट्यूटोरियल
- सी # स्ट्रिंग ट्यूटोरियल - कोड उदाहरण के साथ स्ट्रिंग के तरीके
- पायथन कार्य
- स्ट्रिंग एरे C ++: कार्यान्वयन और उदाहरणों के साथ प्रतिनिधित्व