strings c with examples
सी ++ में स्ट्रिंग्स के मूल में एक गहन रूप।
इस सी ++ श्रृंखला में, अब तक, हमने सी ++ में ज्यादातर संख्यात्मक सरणियों पर चर्चा की है। इस ट्यूटोरियल में, हम चरित्र सरणियों के साथ हेरफेर पर चर्चा करेंगे, जिसे हम केवल 'स्ट्रिंग्स' कहते हैं।
कैरेक्टर ऐरे ज्यादातर सी-स्टाइल स्ट्रिंग है जो C ++ सपोर्ट करता है। सी-स्टाइल कैरेक्टर एरेज़ के अलावा, C ++ एक स्ट्रिंग क्लास 'std :: string' को भी सपोर्ट करता है। इसके अलावा, इस ट्यूटोरियल में, हम दोनों प्रकार के स्ट्रिंग्स के साथ-साथ उनके बीच के अंतर और C ++ में प्रत्येक प्रकार की प्रोग्रामिंग के बारे में चर्चा करेंगे।
=> इस श्रृंखला में सी ++ ट्यूटोरियल की पूरी सूची देखें।
आप क्या सीखेंगे:
कैरेक्टर एरे (सी-स्टाइल स्ट्रिंग्स)
सी-स्टाइल स्ट्रिंग एक कैरेक्टर एरे है जिसे एक अशक्त चरित्र '0' के साथ समाप्त किया गया है। इसलिए हम एक प्रकार के वर्ण और सरणियों के आयाम या आकार को परिभाषित कर सकते हैं और फिर हम इसे वर्णों के एक स्ट्रिंग या सरणी में आरंभीकृत कर सकते हैं।
ध्यान दें कि यह संकलक है जो एक स्ट्रिंग को एक अशक्त वर्ण के साथ समाप्त करता है, इसलिए यदि हम एक स्ट्रिंग के साथ वर्ण सरणी को दोहराते हैं (दोहरे उद्धरण में '') तो हमें एक सरणी का आकार घोषित करते हुए अशक्त वर्ण के लिए अतिरिक्त स्थान छोड़ने की आवश्यकता है। ।
चरित्र सरणियों को घोषित करने और आरंभ करने के कुछ उदाहरण दें।
char firstStr() = 'This is Cstyle string'; char secStr(100) = {'s','o','f','t','w','a','r','e',' ','t','e','s','t','i','n','g',' ','h','e','l','p',' '}; char thirdStr() = {'h','e','l','l','o',' '};
उपरोक्त सभी परिभाषाएँ C ++ में मान्य C- शैली स्ट्रिंग परिभाषाएँ हैं। ध्यान दें कि हम या तो वास्तविक आकार की घोषणा कर सकते हैं या हम आकार को खाली छोड़ सकते हैं ताकि संकलक उस स्ट्रिंग के आधार पर आकार को समायोजित कर सके जिसे हमने प्रारंभ किया था।
चलो एक ले लो उदाहरण C ++ में कैरेक्टर ऐरे को पढ़ना और लिखना
नीचे दिए गए एक सरल कार्यक्रम है जो स्ट्रिंग का उपयोग करता है और इसे आउटपुट का उपयोग करता है।
#include #include using namespace std; int main() { char firstStr(100); cin>>firstStr; cout<<'you entered : '< आउटपुट 1:
SoftwareTestingHelp.com
आपने दर्ज किया: SoftwareTestingHelp.com
आउटपुट 2:
यह सी-स्टाइल स्ट्रिंग है
आपने प्रवेश किया: यह
यदि हम दोनों आउटपुट की तुलना करते हैं, तो हम देखते हैं कि जब हमने पहली स्ट्रिंग 'SoftwareTestingHelp.com' दर्ज की थी, तो यह उसी रूप में मुद्रित किया गया था।
लेकिन दूसरे आउटपुट में, हालांकि हमने 'यह सी-स्टाइल स्ट्रिंग है' स्ट्रिंग में प्रवेश किया, आउटपुट केवल 'यह' था।
आउटपुट में अंतर इसलिए है क्योंकि, स्ट्रिंग को पढ़ने के लिए उपयोग किए जाने वाले सिनेमा के operator >> 'ऑपरेटर को C के' स्कैनफ 'फ़ंक्शन के रूप में माना जाता है, जो केवल तब तक पढ़ता है जब तक कि अंतरिक्ष का सामना नहीं किया जाता है। इसलिए ‘के साथ arr सिने अंतरिक्ष के बिना चरित्र सरणियों को पढ़ने के लिए उपयुक्त है।
आप विंडोज़ में एक डाट फ़ाइल कैसे खोलते हैं
इसलिए जबकि दूसरा आउटपुट स्पेस का सामना करना पड़ा था, इसलिए सिनेम फ़ंक्शन ने इसे स्ट्रिंग के अंत के रूप में लिया और केवल पहला शब्द पढ़ा।
रिक्त स्थान सहित वर्णों की पूरी पंक्ति को पढ़ने के लिए, C ++ 'प्राप्त' फ़ंक्शन का उपयोग करता है।
एक फ़ंक्शन पाने के लिए एक उदाहरण कार्यक्रम नीचे दिखाया गया है:
#include #include using namespace std; int main() { char firstStr(100); cin.get(firstStr,100); cout<<'you entered : '< आउटपुट:
यह softwareTestinghelp.com है
आपने दर्ज किया: यह softwareTestinghelp.com है
जैसा कि उदाहरण में दिखाया गया है , मिल का फ़ंक्शन दो तर्कों का उपयोग करता है। पहला तर्क वर्ण सरणी चर है जिसमें स्ट्रिंग को पढ़ना है जबकि दूसरा तर्क सरणी का अधिकतम आकार है।
सी-स्टाइल स्ट्रिंग्स कई स्ट्रिंग फ़ंक्शंस का भी समर्थन करते हैं जो उपयोगकर्ताओं को स्ट्रिंग्स में हेरफेर करने की अनुमति देते हैं। इन कार्यों को हेडर 'cstring' में परिभाषित किया गया है।
हम नीचे एक तालिका प्रस्तुत करते हैं जिसमें विभिन्न स्ट्रिंग फ़ंक्शंस सूचीबद्ध होते हैं जिनका उपयोग सी-स्टाइल स्ट्रिंग्स में हेरफेर करने के लिए किया जा सकता है।
ऐसा न करें समारोह बहस विवरण 1 अकड़नेवाला s1, s2 स्ट्रिंग s2 को स्ट्रिंग s1 में कॉपी करता है दो अकड़ s1, s2 स्ट्रिंग s2 के अंत में स्ट्रिंग s2 को जोड़ता या संगृहीत करता है ३ आवारा एस 1 स्ट्रिंग s1 की लंबाई लौटाता है ४ स्ट्रैम्प s1, s2 रिटर्न 0: s1 और s2 समान हैं
<0:s1 > 0: s1> s2 ५ स्ट्रच s1, ch स्ट्रिंग को s1and में वर्ण ch की पहली घटना के लिए एक पॉइंटर लौटाता है, स्ट्रिंग को आगे से वहाँ से ६ आघात करना s1, s2 स्ट्रिंग s2 में स्ट्रिंग s2 की पहली घटना देता है
निम्नलिखित कार्यक्रम C ++ में इनमें से कुछ कार्यों के उपयोग को दर्शाता है:
#include #include using namespace std; int main() { char firstStr(50) = 'This is softwareTestingHelp.com'; char secStr(50) = 'a testing platform'; int len = strlen(firstStr); cout<<'Length of firstStr : '< आउटपुट:
फ़र्स्टस्टार की लंबाई: 31
परिणामी स्ट्रिंग (secStr): सॉफ्टवेयरटाइटिंग
FirstStr और secStr की तुलना: -31
Concatenated secStr: आपके लिए सॉफ्टवेयरटाइटिंग
मैं पहली बार में पहली घटना में है: सॉफ्टवेयर है
स्ट्रिंग कक्षा C ++ में
C ++ में स्ट्रिंग जिसे 'std :: string' श्रेणी द्वारा परिभाषित किया गया है, एक वस्तु में वर्णों की धारा का प्रतिनिधित्व है। दूसरे शब्दों में, स्ट्रिंग क्लास स्ट्रिंग ऑब्जेक्ट्स का एक संग्रह है। यह स्ट्रिंग क्लास, std नाम स्थान का एक हिस्सा है और इसे हेडर 'string.h' में परिभाषित किया गया है।
आइए स्ट्रिंग क्लास और चरित्र सरणी के बीच कुछ बुनियादी अंतरों पर चर्चा करें।
- जबकि ऊपर जिन चरित्र सरणियों की हमने चर्चा की है, उन्हें संकलित समय के दौरान सांख्यिकीय रूप से आवंटित किया गया है, तार वस्तुएं हैं और इसलिए उन्हें गतिशील रूप से आवंटित किया जा सकता है।
- जैसा कि चरित्र सरणियाँ प्रकृति में स्थिर हैं, उन्हें एक बार परिभाषित या विस्तारित नहीं किया जा सकता है। इसलिए अगर हमारे पास आकार 100 का वर्ण है, और मैंने इसे 'हैलो' शब्द से शुरू किया है, तो शेष स्थान बर्बाद हो गया है।
चार मिस्टर (100) = 'हैलो';
यहां, शेष 95 स्थान बर्बाद हो गए हैं।
इसके विपरीत, स्ट्रिंग ऑब्जेक्ट प्रकृति में गतिशील हैं और मूल्य के लिए सटीक स्थान लेंगे।
- चरित्र सरणियाँ प्रदर्शन में तेज़ होती हैं जबकि स्ट्रिंग्स धीमी होती हैं।
- चरित्र सरणियों के पास उन पर काम करने वाले कुछ कार्य हैं जो उन्हें हेरफेर कर सकते हैं। स्ट्रिंगर वर्ग को पुनरावृत्त कार्यों सहित कई कार्य मिले हैं।
ये वर्ण सरणी और स्ट्रिंग ऑब्जेक्ट क्लास के बीच कुछ बुनियादी अंतर हैं।
इसके बाद, हम कुछ बुनियादी ऑपरेशनों के साथ स्ट्रिंग क्लास के कुछ उदाहरण देखेंगे जो स्ट्रिंग क्लास की वस्तुओं पर किए जाते हैं।
स्ट्रिंग कक्षा को घोषित करने और आरंभ करने के लिए एक उदाहरण।
#include #include using namespace std; int main() { string str='This is string object in C++'; cout<<'
String entered is :'<उपरोक्त उदाहरण में, हमने 'स्ट्रिंग' वर्ग का उपयोग करके एक स्ट्रिंग ऑब्जेक्ट की घोषणा की और शुरू की है। यह एक सरल उदाहरण है। अब उपयोगकर्ता से स्ट्रिंग को पढ़ने का एक कार्यक्रम है और लंबाई का पता लगाने और दो तारों की तुलना करने सहित कुछ स्ट्रिंग फ़ंक्शन प्रदर्शित करता है।
#include #include using namespace std; int main() { string str; cout<<'Input the string
'; getline(cin,str); cout<<'
String entered is :'< आउटपुट:
स्ट्रिंग इनपुट करें
SoftwareTestingHelp
स्ट्रिंग दर्ज की गई है: SoftwareTestingHelp
स्ट्रिंग स्ट्रिंग की लंबाई है: 19
दो तार बराबर हैं
नई str1: SoftwareTestingHelp.com
str नई लंबाई: 0
उपरोक्त चित्रण में, हमने तारों को हेरफेर करने के लिए कई स्ट्रिंग फ़ंक्शन का उपयोग किया है। स्ट्रिंग घोषित करने के बाद हम मानक इनपुट से स्ट्रिंग को पढ़ने के लिए स्ट्रिंग क्लास के 'गेटलाइन' फ़ंक्शन का उपयोग करते हैं।
एक बार जब हम स्ट्रिंग पढ़ते हैं, तो हम 'लंबाई' फ़ंक्शन का उपयोग करके इसकी लंबाई पाते हैं। यदि हमें मूल्यांकन करने के लिए दो तारों की तुलना करने की आवश्यकता है कि क्या वे समान हैं या नहीं तो हम स्ट्रिंग वर्ग के 'तुलना' फ़ंक्शन का उपयोग कर सकते हैं। यदि फ़ंक्शन 0 देता है, तो दो तार बराबर हैं अन्यथा फ़ंक्शन गैर-शून्य मान लौटाता है।
फिर भी एक अन्य कार्य मौजूदा स्ट्रिंग के अंत में एक और स्ट्रिंग को जोड़ना है। यह 'append' फ़ंक्शन है। इस उदाहरण में, हम 'सॉफ़्टवेयरटाइटिंग' मान के साथ पहले से मौजूद स्ट्रिंग str1 के लिए '.com' को जोड़ते हैं।
उदाहरण में अंतिम फ़ंक्शन स्पष्ट फ़ंक्शन है जिसका उपयोग इनवॉइसिंग स्ट्रिंग ऑब्जेक्ट की सामग्री को साफ़ करने के लिए किया जाता है। इस उदाहरण में, हमने str ऑब्जेक्ट की सामग्री को साफ कर दिया है ताकि इसकी लंबाई 0 हो जाए।
निष्कर्ष
इस ट्यूटोरियल में, हमने कैरेक्टर एरे को कवर किया है जिसे स्ट्रिंग क्लास की मूल बातों के साथ-साथ सी-स्टाइल स्ट्रिंग्स भी कहा जाता है। स्ट्रिंगर वर्ग अधिक उपयोगिताओं के साथ आता है जैसे कि इट्रेटर क्लास, क्योंकि यह एक कंटेनर क्लास है।
हम अपने आगामी एसटीएल ट्यूटोरियल में स्ट्रिंग क्लास और इसके कार्यों के बारे में अधिक देखेंगे !!
=> C ++ प्रशिक्षण श्रृंखला को सभी के लिए देखने के लिए यहां जाएं।
अनुशंसित पाठ
- शैल C ++ में उदाहरणों के साथ
- C ++ में दिनांक और समय कार्य उदाहरण के साथ
- स्ट्रिंग स्ट्रिंग बफर और स्ट्रिंग बिल्डर ट्यूटोरियल के साथ जावा स्ट्रिंग
- चयन सी में सी + + उदाहरण के साथ
- पायथन स्ट्रिंग फ़ंक्शंस
- उदाहरणों के साथ अजगर डेटाइम ट्यूटोरियल
- उदाहरणों के साथ यूनिक्स में कमान काटें
- मुफ़्त के लिए C ++ प्रोग्रामिंग सीखने के लिए 70+ BEST C ++ ट्यूटोरियल