C ++ में स्ट्रिंग्स के बारे में आपको जो कुछ भी जानना है



यह लेख आपको सी ++ में स्ट्रिंग्स के विस्तृत और व्यापक ज्ञान के साथ प्रदान करेगा और विभिन्न संचालन के उदाहरण भी प्रदान करेगा।

शब्द का अर्थ है वर्णों का क्रमबद्ध क्रम। वर्णों का एक क्रम C ++ में एक वर्ग के ऑब्जेक्ट का उपयोग करके दिखाया जा सकता है। जो वर्ग ऐसा करने के लिए एक परिभाषा प्रदान करता है, उसे स्ट्रिंग वर्ग कहा जाता है। स्ट्रिंग क्लास एकल-बाइट वर्ण तक पहुँच की अनुमति देने की कार्यक्षमता के साथ बाइट्स के अनुक्रम के रूप में पात्रों को संग्रहीत करता है। C ++ में एन्क्लोज़िंग सीमांकक दोहरे-उद्धरण हैं। इस 'स्ट्रिंग्स इन सी ++' लेख में मैं निम्नलिखित विषयों पर चर्चा करूंगा:

स्ट्रिंग क्लास और कैरेक्टर एरे अंतर

स्ट्रिंग क्लास चरित्र सरणी
स्ट्रिंग क्लास एक ऐसा वर्ग है जो वस्तुओं को परिभाषित करता है जिन्हें वर्णों की एक धारा के रूप में दर्शाया जा सकता हैचरित्र सरणी केवल वर्णों की एक सरणी है।
स्ट्रिंग्स के मामले में, मेमोरी को गतिशील रूप से आवंटित किया जाता है इस प्रकार मांग पर रन टाइम में अधिक मेमोरी आवंटित की जा सकती हैवर्ण सरणी का आकार सांख्यिकीय रूप से आवंटित किया जाना है, इसलिए आवश्यकता होने पर अधिक मेमोरी को रन टाइम पर आवंटित नहीं किया जा सकता है
स्ट्रिंग क्लास कई प्रकार की कार्यक्षमता को परिभाषित करता है जो स्ट्रिंग्स पर कई गुना संचालन की अनुमति देता है।कैरेक्टर ऐरे स्ट्रिंग्स में हेरफेर करने के लिए कई इन-बिल्ट फंक्शन्स नहीं देते हैं
वर्ण सरणी की तुलना में कार्यान्वयन की तुलना में स्ट्रिंग्स धीमी हैं।एक चरित्र सरणी का कार्यान्वयन है और तेज।

C ++ में एक स्ट्रिंग्स की घोषणा करें और प्रारंभ करें

strings-in-c++C ++ में स्ट्रिंग का प्रारंभ बहुत सरल है! हम निम्नलिखित विधियों में से किसी एक का उपयोग कर सकते हैं।





नेमस्पेस std स्ट्रिंग std_string का उपयोग करना

या

झांकी में डेटा विज़ुअलाइज़ेशन क्या है
std :: string std_string
# नाम का उपयोग करके नाम स्थान std int main () {char ch [12] = {'H', 'e', ​​'l', 'l', 'o', '', 'b', 'y', '' '' , 'c', 'h', '' 'string st =' Hello by st 'std: string std_st =' हैलो by std_st 'cout<< ch << endl cout << st << endl cout << std_st << endl return 0 }

आउटपुट:



नमस्ते by ch Hello by st हैलो by std_st

इस उदाहरण में, हमने वर्ण सरणी (ch) और स्ट्रिंग cl दोनों को दिखाया हैगधा (सेंट और std_st) आरंभीकरण के तरीके। सबसे पहले, हमने एक वर्ण सरणी ch [12] को परिभाषित करके चरित्र सरणी विधि का उपयोग किया जिसमें 12 तत्व होते हैं और एक अशक्त वर्ण के साथ समाप्त होते हैं। दूसरे भाग में, हमने एक स्ट्रिंग क्लास पद्धति का उपयोग किया।

सी ++ में स्ट्रिंग्स पर संचालन

स्ट्रिंग क्लास का उपयोग करने का लाभ यह है कि उन्हें हेरफेर करने के लिए C ++ में कई अंतर्निहित फ़ंक्शन हैं। यह प्रोग्रामिंग को आसान और प्रभावी बनाता है। आइए हम कुछ महत्वपूर्ण स्ट्रिंग हेरफेर कार्यों को लेते हैं और कुछ उदाहरणों को देखकर उन्हें समझते हैं।

स्ट्रिंग का आकार: ऑब्जेक्ट का आकार वापस करने के लिए दोनों आकार () और लंबाई () विधियों का उपयोग किया जा सकता है।



लागत<< st.length() <

आउटपुट:

जावा डेटा संरचनाओं और एल्गोरिदम
११ ११

स्ट्रिंग संघनन: हम केवल उनके बीच + ऑपरेटर का उपयोग करके दो या अधिक तारों को समतल कर सकते हैं

string new_string = st + 'और' + std_st cout<< new_string <

आउटपुट:

नमस्ते st द्वारा और नमस्ते std_st द्वारा

लागू स्ट्रिंग्स: .Append (स्ट्रिंग) वर्ग सदस्य फ़ंक्शन का उपयोग स्ट्रिंग में किसी विशिष्ट वर्ण स्थान पर एक स्ट्रिंग को जोड़ने और जोड़ने के लिए किया जा सकता है। यदि कोई प्रोग्रामर str.append (str1, p, n) डालता है, तो इसका मतलब है कि string str1 में स्थिति p से वर्णों की संख्या को str के अंत में जोड़ा जाएगा।

string str = 'मुझे सीखने में मजा आता है' string str1 = 'Python, C ++, या C' str.append (str1, 8, 3) cout<< str << endl

आउटपुट:

मुझे C ++ सीखने में मज़ा आता है

खोज के तार: हम दूसरे के अंदर एक स्ट्रिंग की पहली घटना को खोजने के लिए खोज () सदस्य फ़ंक्शन का उपयोग कर सकते हैं। ढूँढें () स्थिति पॉस से शुरू होने वाले स्ट्रिंग हैस्टैक के अंदर स्ट्रिंग सुई की तलाश करेंगे और सुई की पहली घटना की स्थिति को वापस करेंगे। फ़ंक्शन rfind () समान रूप से काम करता है, सिवाय इसके कि पारित स्ट्रिंग की अंतिम घटना लौटाता है।

string haystack = 'हैलो वर्ल्ड!' तार की सुई = 'ओ' कूट<< haystack.find(needle)<

आउटपुट:

4 4 7 4294967295 है

पहला कॉउट कमांड केवल '4' प्रिंट करेगा जो हैस्टैक स्ट्रिंग में 'ओ' की पहली घटना का सूचकांक है। यदि हम 'विश्व' में 'ओ' चाहते हैं, तो हमें पहली घटना को इंगित करने के लिए 'स्थिति' को संशोधित करना होगा। haystack.find (सुई, 4) फिर से 4 लौटेगा, जबकि haystack.find (सुई, 5) 7 देगा। यदि सबस्ट्रिंग नहीं मिला है, तो ढूँढें () रिटर्न std :: string :: npos।

Npos एक विशेष मान है जो type size_type द्वारा दर्शाये जाने वाले अधिकतम मान के बराबर है। यहां यह 4294967295 है। आम तौर पर, यह या तो स्ट्रिंग इंडेक्स की अपेक्षा वाले फ़ंक्शन द्वारा स्ट्रिंग इंडिकेटर के अंत के रूप में या स्ट्रिंग इंडेक्स को वापस करने वाले फ़ंक्शन द्वारा त्रुटि संकेतक के रूप में उपयोग किया जाता है।

यह सरल कोड str2 में 'C ++' की सभी घटनाओं के लिए एक स्ट्रिंग खोजता है और उनके पदों को प्रिंट करता है:

string str2 = 'C ++ एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज है और इसमें क्लास, इनहेरिटेंस, पॉलीमॉर्फिज़्म, डेटा एब्स्ट्रैक्शन और एनकैप्सुलेशन शामिल हैं। C ++ अपवाद से निपटने की अनुमति देता है, और फ़ंक्शन ओवरलोडिंग जो CC ++ में संभव नहीं है, एक शक्तिशाली, कुशल और तेज़ भाषा है। ' for (string :: size_type i = 0, tfind (tfind = wikistr.find ('C ++', i)! = string = npos i = tfind + 1) {std :: cout<< 'Found occurrence of 'C++' at position ' << tfind << std::endl }

आउटपुट:

स्थिति occurr सी ++ ’की घटना ० पर 'सी ++’ की स्थिति १३२ में of सी ++ ’की स्थिति ११ ++ पर मिली।
# नाम स्थान std वर्ग आधार {सार्वजनिक: शून्य fun_1 () {cout का उपयोग करके निकालें<< 'base class function 1n' } virtual void fun_2() { cout << 'base class function 2n' } virtual void fun_3() { cout << 'base class function 3n' } virtual void fun_4() { cout << 'base class function 4n' } } class derived : public base { public: void fun_1() { cout << 'derived class function 1n' } void fun_2() { cout << 'derived class function 2n' } void fun_4(int x) { cout fun_2 () // लेट बाइंडिंग (RTP) ptr-> fun_3 () // लेट बाइंडिंग (RTP) ptr-> fun_4 () // अर्ली बाइंडिंग लेकिन यह फंक्शन कॉल // अवैध (त्रुटि उत्पन्न करता है) क्योंकि पॉइंटर // है आधार प्रकार और प्रकार्य का आधार // व्युत्पन्न वर्ग // p-> fun_4 (5)} है

आउटपुट:

बेस क्लास फंक्शन 1 व्युत्पन्न क्लास फंक्शन 2 बेस क्लास फंक्शन 3 बेस क्लास फंक्शन 4

इसके साथ, हम स्ट्रिंग्स ऑन सी ++ में इस लेख के अंत में आते हैं। मुझे उम्मीद है कि आपको उन विभिन्न ऑपरेशनों की समझ मिल गई होगी जो उस पर किए जा सकते हैं। यदि आप अधिक सीखना चाहते हैं, तो एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा जावा प्रशिक्षण की जाँच करें। एडुर्का की प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

ब्लॉकचेन डेवलपर क्या है

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।