C++ स्ट्रिंग फ़ंक्शन: strcpy(), strcat(), strlen(), strcmp() उदाहरण
स्ट्रिंग क्या है?
स्ट्रिंग वर्णों का एक अनुक्रम है। C++ स्ट्रिंग std::string क्लास का एक ऑब्जेक्ट है। अक्षर बाइट्स के संग्रहित अनुक्रम हैं, जिनमें एक एकल अक्षर बाइट तक पहुँच की अनुमति है।
C++ स्ट्रिंग्स गतिशील रूप से मेमोरी आवंटित करती हैं। यदि आवश्यक हो तो रन टाइम के दौरान स्ट्रिंग को अधिक मेमोरी आवंटित की जा सकती है। चूंकि मेमोरी का कोई पूर्व-आवंटन नहीं है, इसलिए मेमोरी की कोई बर्बादी नहीं होती है। हम स्ट्रिंग्स पर विभिन्न ऑपरेशन कर सकते हैं, जिसमें तुलना, संयोजन, रूपांतरण आदि शामिल हैं।
स्ट्रिंग्स की घोषणा
C++ दो प्रकार की स्ट्रिंग घोषणाओं का समर्थन करता है:
- सी-शैली वर्ण स्ट्रिंग
- स्ट्रिंग वर्ग प्रकार
सी-स्टाइल कैरेक्टर स्ट्रिंग
इस प्रकार की स्ट्रिंग घोषणा को पेश किया गया था सी प्रोग्रामिंग भाषा. C++ इसका समर्थन करना जारी रखता है। यह बस एक शून्य वर्ण (\0) के साथ समाप्त होने वाले वर्णों की एक आयामी सरणी है। शून्य-समाप्त स्ट्रिंग में ऐसे वर्ण होते हैं जो स्ट्रिंग बनाते हैं और उसके बाद शून्य होता है।
नीचे दी गई स्ट्रिंग घोषणा पर विचार करें:
char name[5] = {'J', 'o', 'h', 'n', '\0'};
उपरोक्त घोषणा एक स्ट्रिंग बनाती है जो जॉन शब्द बनाती है। शब्द में 4 अक्षर हैं, लेकिन स्ट्रिंग का आकार 5 है। अतिरिक्त स्थान शून्य अक्षर को रखने की अनुमति देता है।
सरणी आरंभीकरण नियम का उपयोग करके, हम उपरोक्त कथन को इस प्रकार लिख सकते हैं:
char name[] = "John";
ध्यान रखें कि आपको स्ट्रिंग स्थिरांक के अंत में शून्य वर्ण रखने की आवश्यकता नहीं है। C++ सरणी को आरंभ करते समय कंपाइलर स्वचालित रूप से स्ट्रिंग के अंत में '\0' रख देगा।
एसटीडी :: स्ट्रिंग
मानक C++ लाइब्रेरी स्ट्रिंग क्लास प्रदान करती है जो विभिन्न स्ट्रिंग ऑपरेशनों का समर्थन करती है। इसे std::string के रूप में लिखा जाता है।
इस वर्ग का उपयोग करने के लिए, हमें पहले इसे #include प्रीप्रोसेसर का उपयोग करके अपने कार्यक्षेत्र में शामिल करना होगा जैसा कि नीचे दिखाया गया है:
#include<string>
इसके बाद, हम स्ट्रिंग कीवर्ड का उपयोग करके अपनी स्ट्रिंग घोषित कर सकते हैं। उदाहरण के लिए:
string name = "John";
उपरोक्त कथन जॉन मान को धारण करने के लिए name नामक एक स्ट्रिंग बनाएगा।
स्ट्रिंग मान तक पहुँचना
In C++, हम स्ट्रिंग नाम का उपयोग करके स्ट्रिंग मानों तक पहुँच सकते हैं। उदाहरण के लिए:
#include <iostream>
using namespace std;
int main() {
char name[5] = { 'J', 'o', 'h', 'n', '\0' };
cout << "String value is: ";
cout << name << endl;
return 0;
}
आउटपुट:
कोड का स्क्रीनशॉट यहां दिया गया है:
कोड स्पष्टीकरण:
- हमारे कोड में iostream हेडर फ़ाइल शामिल करें। यह हमें कंसोल से पढ़ने और उसमें लिखने की अनुमति देगा।
- std नामस्थान को शामिल करना ताकि इसे कॉल किए बिना इसके क्लासों और फ़ंक्शनों का उपयोग किया जा सके।
- main() फ़ंक्शन को कॉल करना जिसके अंदर प्रोग्राम का तर्क जोड़ा जाना चाहिए। { main() फ़ंक्शन के मुख्य भाग की शुरुआत को चिह्नित करता है।
- वर्णों की एक स्ट्रिंग घोषित करना और उसे नाम देना। स्ट्रिंग जॉन मान संग्रहीत करेगी। अतिरिक्त स्थान शून्य वर्ण संग्रहीत करेगा।
- कंसोल पर कुछ पाठ मुद्रित करना।
- कंसोल पर नाम नामक स्ट्रिंग का मान प्रिंट करना।
- यदि प्रोग्राम ठीक से चलता है तो main() फ़ंक्शन को एक मान लौटाना चाहिए।
- main() फ़ंक्शन के मुख्य भाग का अंत.
यहाँ एक और उदाहरण दिया गया है C++ मानक स्ट्रिंग वर्ग:
#include <iostream>
#include <string>
using namespace std;
int main() {
string name = "Guru99";
cout << "The name is : " << name << endl;
return 0;
}
आउटपुट:
कोड का स्क्रीनशॉट यहां दिया गया है:
कोड स्पष्टीकरण:
- हमारे कोड में iostream हेडर फ़ाइल शामिल करें। यह हमें कंसोल से पढ़ने और उसमें लिखने की अनुमति देगा।
- हमारे कोड में मानक स्ट्रिंग वर्ग को शामिल करना।
- std नामस्थान को शामिल करना ताकि इसे कॉल किए बिना इसके क्लासों और फ़ंक्शनों का उपयोग किया जा सके।
- main() फ़ंक्शन को कॉल करना जिसके अंदर प्रोग्राम का तर्क जोड़ा जाना चाहिए। { main() फ़ंक्शन के मुख्य भाग की शुरुआत को चिह्नित करता है।
- एक स्ट्रिंग घोषित करना और उसे नाम देना। स्ट्रिंग गुरु99 मान संग्रहीत करेगी।
- कंसोल पर कुछ पाठ के साथ स्ट्रिंग नाम का मान मुद्रित करना।
- यदि प्रोग्राम ठीक से चलता है तो main() फ़ंक्शन को एक मान लौटाना चाहिए।
- main() फ़ंक्शन के मुख्य भाग का अंत.
स्ट्रिंग फ़ंक्शन C++
आप अक्सर स्ट्रिंग्स में हेरफेर करना चाहेंगे। C++ फ़ंक्शन की एक विस्तृत श्रृंखला प्रदान करता है जिसका उपयोग आप इसके लिए कर सकते हैं। ये फ़ंक्शन CString क्लास में परिभाषित हैं, इसलिए, फ़ंक्शन का उपयोग करने के लिए हमें इसे अपने कोड में शामिल करना होगा। आइए कुछ पर चर्चा करें:
स्ट्रैपी()
यह स्ट्रिंग कॉपी फ़ंक्शन है। यह एक स्ट्रिंग को दूसरी स्ट्रिंग में कॉपी करता है।
सिंटेक्स:
strcpy(string1, string2);
फ़ंक्शन के दो पैरामीटर, स्ट्रिंग1 और स्ट्रिंग2, स्ट्रिंग हैं। फ़ंक्शन स्ट्रिंग स्ट्रिंग2 को स्ट्रिंग1 में कॉपी करेगा।
स्ट्रैटकैट()
यह स्ट्रिंग कोन्केटेनेट फंक्शन है। यह स्ट्रिंग को जोड़ता है।
सिंटेक्स:
strcat(string1, string2);
फ़ंक्शन के दो पैरामीटर, स्ट्रिंग1 और स्ट्रिंग2 संयोजित किए जाने वाले स्ट्रिंग हैं। उपरोक्त फ़ंक्शन स्ट्रिंग स्ट्रिंग2 को स्ट्रिंग स्ट्रिंग1 के अंत में संयोजित करेगा।
strlen ()
यह स्ट्रिंग लंबाई फ़ंक्शन है। यह तर्क के रूप में पास की गई स्ट्रिंग की लंबाई लौटाता है।
सिंटेक्स:
strnlen(string1)
पैरामीटर string1 उस स्ट्रिंग का नाम है जिसकी लंबाई निर्धारित की जानी है। उपरोक्त फ़ंक्शन स्ट्रिंग string1 की लंबाई लौटाएगा।
strcmp ()
यह स्ट्रिंग तुलना फ़ंक्शन है। इसका उपयोग स्ट्रिंग तुलना के लिए किया जाता है।
सिंटेक्स:
strcmp(string1, string2);
यदि स्ट्रिंग string0 और string1 समान हैं तो उपरोक्त फ़ंक्शन 2 लौटाएगा, यदि string0 1 से कम है तो 2 से कम लौटाएगा स्ट्रिंग0.
उदाहरण:
निम्नलिखित उदाहरण दर्शाता है कि उपरोक्त स्ट्रिंग फ़ंक्शन का उपयोग कैसे किया जाता है:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char name1[10] = "Guru99";
char name2[10] = "John";
char name3[10];
int len;
strcpy(name3, name1);
cout << "strcpy( name3, name1) : " << name3 << endl;
strcat(name1, name2);
cout << "strcat( name1, name2): " << name1 << endl;
len = strlen(name1);
cout << "strlen(name1) : " << len << endl;
return 0;
}
आउटपुट:
कोड का स्क्रीनशॉट यहां दिया गया है:
कोड स्पष्टीकरण:
- हमारे कोड में iostream हेडर फ़ाइल शामिल करें। यह हमें कंसोल से पढ़ने और उसमें लिखने की अनुमति देगा।
- हमारे कोड में मानक CString वर्ग को शामिल करना।
- std नामस्थान को शामिल करना ताकि इसे कॉल किए बिना इसके क्लासों और फ़ंक्शनों का उपयोग किया जा सके।
- main() फ़ंक्शन को कॉल करना जिसके अंदर प्रोग्राम का तर्क जोड़ा जाना चाहिए। { main() फ़ंक्शन के मुख्य भाग की शुरुआत को चिह्नित करता है।
- 10 अक्षरों की एक स्ट्रिंग घोषित करना और उसे name1 नाम देना। स्ट्रिंग में Guru99 मान संग्रहीत होगा।
- 10 अक्षरों की एक स्ट्रिंग घोषित करना और उसे name2 नाम देना। स्ट्रिंग में John का मान संग्रहीत होगा।
- 10 अक्षरों की एक स्ट्रिंग घोषित करना और उसे name3 नाम देना.
- घोषणा करना पूर्णांक चर नाम दिया गया लेन.
- स्ट्रिंग नाम1 को स्ट्रिंग नाम3 में कॉपी करना।
- कंसोल पर कुछ टेक्स्ट के साथ स्ट्रिंग name1 का मान प्रिंट करना। इसे Guru99 प्रिंट करना चाहिए।
- स्ट्रिंग name2 को स्ट्रिंग name1 के अंत में संयोजित करना। name1 का मान अब Guru99John है।
- कंसोल पर कुछ टेक्स्ट के साथ स्ट्रिंग name1 का मान प्रिंट करना। इसे Guru99John प्रिंट करना चाहिए
- नाम1 नामक स्ट्रिंग की लंबाई निर्धारित करना और चर len को लंबाई का मान निर्दिष्ट करना।
- कंसोल पर कुछ अन्य पाठ के साथ len चर का मान मुद्रित करना।
- यदि प्रोग्राम ठीक से चलता है तो main() फ़ंक्शन को एक मान लौटाना चाहिए।
- main() फ़ंक्शन के मुख्य भाग का अंत.
सारांश
- स्ट्रिंग वर्णों का एक अनुक्रम है।
- स्ट्रिंग्स मानक स्ट्रिंग वर्ग से संबंधित हैं C++.
- हम सी-स्टाइल कैरेक्टर स्ट्रिंग या मानक स्ट्रिंग क्लास का उपयोग करके स्ट्रिंग्स घोषित कर सकते हैं।
- strcpy() फ़ंक्शन एक स्ट्रिंग को दूसरे में कॉपी करता है।
- strcat() फ़ंक्शन दो स्ट्रिंग्स को जोड़ता है।
- strlen() फ़ंक्शन स्ट्रिंग की लंबाई लौटाता है।
- strcmp() फ़ंक्शन दो स्ट्रिंग्स की तुलना करता है।




