Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी/सी++ में strncmp() और strcmp() के बीच अंतर

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

  1. सी/सी ++ में कॉन्स इंट *, कॉन्स्ट इंट * कॉन्स्ट, और इंट कॉन्स्ट * के बीच अंतर?

    उपरोक्त प्रतीकों का अर्थ निम्नलिखित है - int* - Pointer to int. This one is pretty obvious. int const * - Pointer to const int. int * const - Const pointer to int int const * const - Const pointer to const int यह भी ध्यान दें कि - const int * And int const * are the same. const int * const And int

  1. C++ स्ट्रिंग स्थिरांक और वर्ण स्थिरांक के बीच अंतर

    C++ में, सिंगल कोट्स में एक कैरेक्टर एक कैरेक्टर लिटरल होता है। यह चार प्रकार का है। उदाहरण के लिए, ए ASCII आधारित सिस्टम पर 97 के मान के साथ चार प्रकार का है। दोहरे उद्धरण चिह्नों में एक वर्ण या वर्णों की एक स्ट्रिंग एक स्ट्रिंग अक्षर का प्रतिनिधित्व करती है। यह प्रकार का है const char[] और स्ट्रि

  1. C++ में रिलेशनल ऑपरेटर(==) और std::string::compare() के बीच अंतर

    रिलेशनल ऑपरेटर ==और std::string::compare() के बीच केवल एक अंतर है। वह वापसी मूल्य है। आंतरिक रूप से, string::operator==() string::compare() using का उपयोग कर रहा है रिलेशनल ऑपरेटर(==) एक बूलियन लौटाता है जो यह दर्शाता है कि 2 तार बराबर हैं या नहीं, जबकि तुलना एक पूर्णांक देता है जो दर्शाता है कि तार