strncmp()
फ़ंक्शन strncmp() का उपयोग बाएं स्ट्रिंग की तुलना दाएं स्ट्रिंग से किसी संख्या तक करने के लिए किया जाता है। यह strcmp() के समान काम करता है। यह शून्य से अधिक मान देता है जब बाएं स्ट्रिंग के मिलान वर्ण में दाएं स्ट्रिंग के वर्ण से अधिक ASCII मान होता है। जब बाईं स्ट्रिंग के मिलान वर्ण का ASCII मान दाएँ स्ट्रिंग के वर्ण से कम होता है, तो शून्य से कम मान लौटाता है।
यहाँ सी भाषा में strncmp() का सिंटैक्स दिया गया है,
int strncmp ( const char *leftString, const char *rightString, size_t number );
यहाँ,
-
बाएं स्ट्रिंग - पहली स्ट्रिंग जिसकी तुलना राइट स्ट्रिंग से की जानी है।
-
राइटस्ट्रिंग - दूसरी स्ट्रिंग जो पहली स्ट्रिंग की तुलना करने के लिए प्रयोग की जाती है।
-
संख्या - तुलना करने के लिए वर्णों की अधिकतम संख्या।
सी भाषा में strncmp() का एक उदाहरण यहां दिया गया है,
उदाहरण
#include<stdio.h> #include<string.h> int main() { char str1[] = "blank"; char str2[] = "Hello World!"; int result = strncmp(str1, str2, 1); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
आउटपुट
यहाँ आउटपुट है
Strings are unequal Value returned by strcmp() is: 26
strcmp()
फ़ंक्शन strcmp() एक अंतर्निहित लाइब्रेरी फ़ंक्शन है और "string.h" हेडर फ़ाइल में घोषित किया गया है। इस फ़ंक्शन का उपयोग स्ट्रिंग तर्कों की तुलना करने के लिए किया जाता है। यह स्ट्रिंग्स को लेक्सिकोग्राफ़िक रूप से तुलना करता है जिसका अर्थ है कि यह दोनों स्ट्रिंग्स कैरेक्टर की तुलना कैरेक्टर से करता है। यह स्ट्रिंग्स के पहले कैरेक्टर की तुलना तब तक करना शुरू करता है जब तक कि दोनों स्ट्रिंग्स के कैरेक्टर बराबर न हों या NULL कैरेक्टर न मिल जाए।
यदि दोनों स्ट्रिंग्स का पहला कैरेक्टर बराबर है, तो यह दूसरे कैरेक्टर वगैरह की जांच करता है। यह प्रक्रिया तब तक जारी रहेगी जब तक कि NULL वर्ण न मिल जाए या दोनों वर्ण असमान न हों। अगर दोनों तार एक जैसे हैं यानी दोनों स्ट्रिंग में वर्ण समान हैं, तो यह शून्य लौटाता है।
यह शून्य से अधिक मान देता है जब बाएं स्ट्रिंग के मिलान वर्ण में दाएं स्ट्रिंग के वर्ण से अधिक ASCII मान होता है। यह शून्य से कम मान देता है जब बाएं स्ट्रिंग के मिलान वर्ण में दाएँ स्ट्रिंग के वर्ण की तुलना में ASCII मान कम होता है।
सी भाषा में strcmp() का सिंटैक्स यहां दिया गया है,
int strcmp(const char *leftString, const char *rightString );
यहाँ,
-
बाएं स्ट्रिंग - पहली स्ट्रिंग जिसकी तुलना राइट स्ट्रिंग से की जानी है।
-
राइटस्ट्रिंग - दूसरी स्ट्रिंग जो पहली स्ट्रिंग की तुलना करने के लिए प्रयोग की जाती है।
सी भाषा में strcmp() का एक उदाहरण यहां दिया गया है,
उदाहरण
#include<stdio.h> #include<string.h> int main() { char str1[] = "hello World!"; char str2[] = "Hello World!"; int result = strcmp(str1, str2); if (result==0) printf("Strings are equal"); else printf("Strings are unequal"); printf("\nValue returned by strcmp() is: %d" , result); return 0; }
आउटपुट
यहाँ आउटपुट है:
Strings are unequal Value returned by strcmp() is: 32