सामग्री
स्ट्रिंग लांबी तुलना सी प्रोग्रामिंग भाषेमध्ये सामान्यतः वापरली जाणारी फंक्शन आहे, कारण कोणत्या स्ट्रिंगमध्ये अधिक वर्ण आहेत हे आपल्याला अनुमती देते. डेटाची क्रमवारी लावण्यासाठी हे खूप उपयुक्त आहे. स्ट्रिंग तुलनासाठी एक विशेष कार्य आवश्यक आहे; म्हणून वापरू नका: != किंवा ==.
पाऊल टाकण्यासाठी
- दोन कार्ये आहेत जी आपल्याला सी मध्ये स्ट्रिंगची तुलना करण्यास परवानगी देतात. दोघांचा समावेश आहे स्ट्रिंगकोड लायब्ररी.
- strcmp () - हे फंक्शन दोन तारांची तुलना करते आणि वर्णांच्या संख्येमधील फरक परत करते.
- strncmp () - हे देखील लागू होते strcmp (), याशिवाय तो पहिला आहे एन वर्णांची तुलना करा. हे अधिक सुरक्षित मानले जाते कारण ते ओव्हरफ्लो क्रॅश टाळण्यास मदत करते.
- आवश्यक ग्रंथालयांसह कार्यक्रम चालवा. आपल्याकडे दोन्ही लायब्ररी आहेत stdio.h> आणि स्ट्रिंग आपल्या प्रोग्रामसाठी आपल्याला आवश्यक असलेल्या इतर लायब्ररीसह आवश्यक आहे.
# शामिल करा stdio.h> [[प्रतिमा: सी प्रोग्रामिंग चरण दोन आवृत्तीची दोन स्ट्रिंगची तुलना करा. आवृत्ती 4.webp | केंद्र]] # स्ट्रिंग एच.> समाविष्ट करा
- एक प्रारंभ करा.इंटकार्य. हे कार्य शिकण्याचा हा सर्वात सोपा मार्ग आहे कारण तो दोन स्ट्रिंगच्या लांबीची तुलना करत पूर्णांक मिळवते.
[[प्रतिमा: सी प्रोग्रामिंग मधील दोन स्ट्रिंगची तुलना करा चरण 2 आवृत्ती 4.webp | केंद्र]] # समाविष्ट stdio.h> [[प्रतिमा: सी प्रोग्रामिंग मधील दोन स्ट्रिंगची तुलना करा चरण 3 आवृत्ती 3.webp | केंद्र]] # अंतर्भूत करा. h> इंट मेन () {}
- आपण कोणत्या दोन तारांची तुलना करू इच्छिता ते ठरवा. या उदाहरणात आम्ही दोन डेटाची तुलना करतो चार तार. पूर्णांक म्हणून आपण मिळणारे मूल्य देखील निश्चित केले पाहिजे.
[[प्रतिमा: सी प्रोग्रामिंग मधील दोन स्ट्रिंगची तुलना करा चरण 4 आवृत्ती 4.webp | केंद्र]] # समाविष्ट stdio.h> [[प्रतिमा: सी प्रोग्रामिंगमधील दोन स्ट्रिंगची तुलना करा चरण 5 आवृत्ती 4.webp | केंद्र]] # अंतर्भूत स्ट्रिंग. h> इंट मेन () {चार * str1 = "appleपल"; char * str2 = "संत्रा"; इंट रिट;}
- तुलना कार्य जोडा. आता आपण दोन स्ट्रिंग्स परिभाषित केल्या आहेत, तर आपण तुलना फंक्शन जोडू शकता. आपण जाऊ strncmp () म्हणून मोजण्यासाठी पात्रांची संख्या फंक्शनमध्ये निश्चित केली गेली आहे हे आपण सुनिश्चित करणे आवश्यक आहे.
[[प्रतिमा: सी प्रोग्रामिंग मधील दोन स्ट्रिंगची तुलना करा चरण 6 आवृत्ती 4.webp | केंद्र]] # stdio.h> # अंतर्भूत करा. char * str2 = "संत्रा"; इंट रिट; ret = strncmp (str1, str2, 11); / * 11 वर्ण लांब असलेल्या दोन तारांची तुलना करा * /}
- वापरा.जर ... नाही तरतुलना करण्यासाठी. आता आपण हे फंक्शन तयार केले आहे जर ... नाही तर कोणती स्ट्रिंग लांब आहे हे निर्धारित करण्यासाठी. strncmp () देते 0 परिणामी, जर तारांची लांबी समान असेल तर, स्ट्रिंग 1 ची धनात्मक संख्या आणि str2 अधिक असल्यास नकारात्मक संख्या.
# समावेश stdio.h> # शामिल करा. स्ट्रिंग.> इंट मेन () {चार * स्ट्र1 = "appleपल"; char * str2 = "संत्रा"; इंट रिट; ret = strncmp (str1, str2, 11); जर (ret> 0) {printf ("str1 जास्त आहे"); } अन्यथा जर (ret 0) {printf ("str2 जास्त आहे"); } else {printf ("दोन तार समान आहेत"); } परतावा (0); }
चेतावणी
- लक्षात ठेवा स्ट्रिंग्ज समान असल्यास रिटर्न व्हॅल्यू 0 आहे. हे गोंधळात टाकणारे असू शकते कारण 0 हे देखील चुकीचे मूल्य आहे.