सी ++ में स्ट्रिंग की तुलना कैसे करें

How Compare String C



किसी भी प्रोग्रामिंग भाषा के लिए स्ट्रिंग्स की तुलना करना एक बहुत ही सामान्य कार्य है। यह मुख्य रूप से डेटा को मान्य करने के लिए उपयोग किया जाता है, जैसे लॉगिन जानकारी के उपयोगकर्ता नाम और पासवर्ड की जांच करना। स्ट्रिंग तुलना एक तुलना ऑपरेटर का उपयोग करके या अंतर्निहित कार्यों का उपयोग करके की जा सकती है। C++ में प्रयुक्त दो स्ट्रिंग तुलना फंक्शन हैं, strcmp () तथा तुलना करना() . NS strcmp () दो तारों की तुलना करने के लिए सी का पुस्तकालय कार्य है। सी ओम्पारे () दो स्ट्रिंग्स की तुलना करने के लिए C++ का बिल्ट-इन फंक्शन है। तुलना ऑपरेटरों और कार्यों का उपयोग करके स्ट्रिंग्स की तुलना करने के तरीकों को इस ट्यूटोरियल में समझाया गया है।

पूर्व-आवश्यकता:

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







स्ट्रिंग की तुलना करने के लिए तुलना ऑपरेटर का उपयोग करना:

सी ++ में स्ट्रिंग्स की तुलना करने का सबसे आम तरीका तुलना ऑपरेटर का उपयोग करना है। ये बराबर (==) हैं और बराबर (!=) ऑपरेटर नहीं हैं। तुलना ऑपरेटर का उपयोग करके दो स्ट्रिंग मानों की तुलना करने के लिए निम्नलिखित कोड के साथ एक C++ फ़ाइल बनाएं। कोड के अनुसार, उपयोगकर्ता से एक URL पता लिया जाएगा और एक समान (==) ऑपरेटर का उपयोग करके अन्य स्ट्रिंग्स के साथ तुलना की जाएगी। यदि इनपुट मान 'if' शर्त के किसी भी स्ट्रिंग से मेल खाता है, तो विशिष्ट संदेश मुद्रित किया जाएगा; अन्यथा, 'अन्य' भाग का संदेश प्रदर्शित किया जाएगा।



// आवश्यक पुस्तकालय शामिल करें

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु() {
// एक स्ट्रिंग चर घोषित करें
स्ट्रिंग url_addr;
// उपयोगकर्ता से एक यूआरएल पता लें
लागतurl_addr;
// समकक्ष ऑपरेटर का उपयोग करके किसी अन्य स्ट्रिंग के साथ इनपुट मान की तुलना करें
अगर(url_addr== 'Google.com')
लागत<<'यह एक सर्च इंजन वेनसाइट है।'<<एंडली;
अन्य(url_addr== 'jooble.org')
लागत<<'यह एक नौकरी खोजने वाली वेबसाइट है।'<<एंडली;
अन्य(url_addr== 'linuxhint.com')
लागत<<'यह एक ब्लॉग वेबसाइट है।'<<एंडली;
अन्यथा
लागत<<'इस साइट के लिए कोई जानकारी नहीं जोड़ी गई है।'<<एंडली;

वापसी0;
}

आउटपुट:



कोड निष्पादित करने के बाद, यदि उपयोगकर्ता ने 'टाइप किया' linuxhint.com 'इनपुट के रूप में, तीसरी 'अगर' शर्त वापस कर दी जाएगी सत्य, और निम्न आउटपुट दिखाई देगा।





स्ट्रिंग की तुलना करने के लिए तुलना () फ़ंक्शन का उपयोग करना:

तुलना () फ़ंक्शन दो स्ट्रिंग्स की तुलना करता है और तुलना के मिलान परिणाम के आधार पर 0 या 1 या -1 देता है। वापसी मूल्यों का अर्थ नीचे दिया गया है।



  • जब दोनों तुलना करने वाले तार बराबर होते हैं तो फ़ंक्शन 0 वापस आ जाएगा।
  • पहली स्ट्रिंग दूसरी स्ट्रिंग से बड़ी होने पर फ़ंक्शन 1 लौटाएगा।
  • फ़ंक्शन -1 लौटाएगा जब पहली स्ट्रिंग दूसरी स्ट्रिंग से कम होगी।

वाक्य - विन्यास:

NSस्ट्रिंग1.तुलना करना(स्ट्रिंग2)

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

// आवश्यक पुस्तकालय शामिल करें

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु() {

// दो स्ट्रिंग वैरिएबल को इनिशियलाइज़ करें
स्ट्रिंग ईमेल(' [ईमेल संरक्षित]');
स्ट्रिंग पासवर्ड('लिनक्सहिंट');
// दो स्ट्रिंग चर घोषित करें
स्ट्रिंग user_email;
स्ट्रिंग user_password;

// उपयोगकर्ता से ईमेल पता लें
लागतuser_email;

// उपयोगकर्ता से पासवर्ड लें
लागतउपयोगकर्ता पासवर्ड;

// उपयोगकर्ता नाम जांचें क्योंकि पासवर्ड मान्य या अमान्य है
अगर (user_email.तुलना करना(ईमेल) == 0&&उपयोगकर्ता पासवर्ड।तुलना करना(पासवर्ड) == 0 )
लागत<<'प्रमाणीकरण सफल।'<<एंडली;
अन्यथा
लागत<<'ईमेल या पासवर्ड अमान्य है।'<<एंडली;

वापसी0;
}

आउटपुट:

कोड निष्पादित करने के बाद, यदि उपयोगकर्ता ने 'टाइप किया' [ईमेल संरक्षित] 'ईमेल पते के रूप में और' 12345 'पासवर्ड के रूप में, तीसरी 'अगर' शर्त वापस कर दी जाएगी झूठा, और निम्न आउटपुट दिखाई देगा।

कोड को फिर से निष्पादित करने के बाद, यदि उपयोगकर्ता ने 'टाइप किया' [ईमेल संरक्षित] 'ईमेल पते के रूप में और' लिनक्सहिंट 'पासवर्ड के रूप में, तीसरी 'अगर' शर्त वापस कर दी जाएगी सत्य, और निम्न आउटपुट दिखाई देगा।

स्ट्रिंग की तुलना करने के लिए strcmp () फ़ंक्शन का उपयोग करना:

सी ++ में स्ट्रिंग्स की तुलना करने के लिए strcmp() एक और फ़ंक्शन है। यदि दोनों तुलना करने वाले तार समान हैं तो यह सही है। इस फ़ंक्शन द्वारा लिए गए इनपुट पैरामीटर तुलना () फ़ंक्शन से भिन्न होते हैं। तुलना फ़ंक्शन एक पैरामीटर के रूप में एक स्ट्रिंग मान लेता है, और strcmp () फ़ंक्शन चार सरणी को एक पैरामीटर के रूप में लेता है। इस फ़ंक्शन का सिंटैक्स नीचे दिया गया है।

वाक्य - विन्यास:

NS strcmp ( स्थिरांक char *str1, स्थिरांक char *str2);

strcmp() फ़ंक्शन का उपयोग करके दो स्ट्रिंग्स की तुलना करने के लिए निम्न कोड के साथ एक C++ फ़ाइल बनाएं। उपयोगकर्ताओं द्वारा लिए गए स्ट्रिंग मानों को संग्रहीत करने के लिए कोड में 100 तत्वों के दो वर्ण सरणियाँ घोषित की गई हैं। NS लाइन में आओ() फ़ंक्शन का उपयोग उपयोगकर्ता के इनपुट को चार सरणी चर में संग्रहीत करने के लिए किया जाता है। अगला, strcmp () इनपुट मान बराबर हैं या नहीं, यह जांचने के लिए फ़ंक्शन का उपयोग किया गया है। यदि फ़ंक्शन वापस आता है सत्य, फिर सफलता संदेश मुद्रित किया जाएगा; अन्यथा, विफलता संदेश मुद्रित किया जाएगा,

// आवश्यक पुस्तकालयों को शामिल करें

#शामिल

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु() {
// दो स्ट्रिंग वैरिएबल को डिले करें
charchrData1[100],chrData2[100];

// पहला स्ट्रिंग डेटा लें
लागत<<'पहली स्ट्रिंग दर्ज करें:';
जिन।लाइन में आओ(chrData1, 100);
// दूसरा स्ट्रिंग डेटा लें
लागत<<'दूसरा स्ट्रिंग दर्ज करें:';
जिन।लाइन में आओ(chrData2, 100);

अगर ( strcmp (chrData1,chrData2)==0)
printf ('तार बराबर हैं'एन');
अन्यथा
printf ('तार बराबर नहीं हैं'एन');

वापसी0;
}

आउटपुट:

कोड निष्पादित करने के बाद, स्ट्रिंग मान, ' नमस्ते ' दोनों इनपुट मानों के लिए दिया गया है, और निम्न आउटपुट दिखाई देगा।

निष्कर्ष:

सी ++ में स्ट्रिंग्स की तुलना करने के तीन तरीके इस ट्यूटोरियल में तीन सरल उदाहरणों का उपयोग करके दिखाए गए हैं। नए C++ प्रोग्रामर्स की मदद के लिए इस ट्यूटोरियल में तुलना ऑपरेटर के उपयोग और स्ट्रिंग्स की समानता की जाँच के लिए बिल्ट-इन फ़ंक्शंस दोनों का वर्णन किया गया है।