विषय
सी कोड में स्ट्रिंग लंबाई की तुलना करने के लिए यह पता लगाने के लिए कि किस स्ट्रिंग में अधिक वर्ण हैं, यह काफी आम है। यह डेटा सॉर्ट करने के लिए उपयोगी है। स्ट्रिंग्स की तुलना करने के लिए एक विशेष फ़ंक्शन की आवश्यकता होती है - उपयोग न करें != या ==.
कदम
- 1 सी प्रोग्रामिंग भाषा में दो फ़ंक्शन शामिल हैं जिनका उपयोग आप स्ट्रिंग लंबाई की तुलना करने के लिए कर सकते हैं। इन दोनों कार्यों को पुस्तकालय में शामिल किया गया है स्ट्रिंग.एच>.
- strcmp () - यह फ़ंक्शन दो स्ट्रिंग्स की तुलना करता है और वर्णों की संख्या में अंतर देता है।
- strncmp () - यह फ़ंक्शन जैसा ही है strcmp () सिवाय इसके कि पहला एन पात्र। इसे अधिक सुरक्षित माना जाता है क्योंकि यह अतिप्रवाह विफलताओं से बचा जाता है।
- 2 आवश्यक पुस्तकालयों के साथ कार्यक्रम शुरू करें। आपको पुस्तकालयों की आवश्यकता होगी stdio.h> तथा स्ट्रिंग.एच>साथ ही आपके विशिष्ट कार्यक्रम के लिए आवश्यक कोई अन्य पुस्तकालय।
#include stdio.h> #include string.h>
- 3 फ़ंक्शन दर्ज करें NS. यह दो स्ट्रिंग्स की लंबाई की तुलना करने के परिणामस्वरूप एक पूर्णांक देता है।
#include stdio.h> #include string.h> int main () {}
- 4 उन दो स्ट्रिंग्स को पहचानें जिनकी आप तुलना करना चाहते हैं। हमारे उदाहरण में, दो प्रकार के तारों की तुलना करें चारो... वापसी मान को एक पूर्णांक के रूप में भी परिभाषित करें।
#include stdio.h> #include string.h> int main () {char * str1 = "apple"; चार * str2 = "नारंगी"; इंट रेट; }
- 5 एक तुलना फ़ंक्शन दर्ज करें। हमारे उदाहरण में, हम फ़ंक्शन का उपयोग करेंगे strncmp ()... इसमें आपको मापा वर्णों की संख्या निर्धारित करने की आवश्यकता है।
#include stdio.h> #include string.h> int main () {char * str1 = "apple"; चार * str2 = "नारंगी"; इंट रेट; रिट = strncmp (str1, str2, 8); / * 8 वर्णों तक के दो तारों की तुलना करता है * /}
- 6 सशर्त विवरण दर्ज करें अगर।.. अन्य। यह दिखाने की जरूरत है कि कौन सी रेखा लंबी है। समारोह strncmp () नंबर वापस कर देंगे 0यदि स्ट्रिंग्स की लंबाई समान है, तो सकारात्मक संख्या यदि str1 लंबी है, और ऋणात्मक संख्या यदि str2 लंबी है।
#include stdio.h> #include string.h> int main () {char * str1 = "apple"; चार * str2 = "नारंगी"; इंट रिट; रिट = strncmp (str1, str2, 8); अगर (रिट> 0) {प्रिंटफ ("str1 लंबा है"); } और अगर (रिट 0) {प्रिंटफ ("str2 लंबा है"); } और {प्रिंटफ ("लाइन की लंबाई बराबर है"); } वापसी (0); }
चेतावनी
- याद रखें कि यदि स्ट्रिंग्स की लंबाई समान है, तो मान 0 वापस कर दिया जाएगा। यह भ्रमित करने वाला हो सकता है क्योंकि 0 भी FALSE है।