Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

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


strncmp() और strcmp() ASCII कैरेक्टर तुलना का उपयोग करके दो स्ट्रिंग्स की तुलना करते हैं। strncmp एक अतिरिक्त पैरामीटर लेता है जो तुलना किए जाने वाले कैरेक्टर्स की संख्या निर्दिष्ट करता है। यह बहुत उपयोगी है क्योंकि यदि कोई स्ट्रिंग वैध नहीं है, तो strcmp अपना ऑपरेशन पूरा नहीं कर पाएगा। strcmp स्ट्रिंग के अंत में अंत कैरेक्टर ('\0') को खोजकर अपना ऑपरेशन समाप्त करता है। strncmp अपने ऑपरेशन को समाप्त करने के लिए कैरेक्टर्स की संख्या का उपयोग करता है और इस प्रकार सुरक्षित है।

उदाहरण

#include <stdio.h>
#include <string.h>

int main() {
    char str1[] = "TutorialsPoint";
    char str2[] = "Tutorials";
    
    // strncmp() के साथ स्ट्रिंग्स की तुलना
    int result1 = strncmp(str1, str2, 9);
    if (result1 == 0) {
        printf("str1 == str2 upto 9 characters!\n");
    }
    
    // strcmp() का उपयोग करके स्ट्रिंग्स की तुलना
    int result2 = strcmp(str1, str2);
    if (result2 == 0) {
        printf("str1 == str2!\n");
    } else {
        if (result2 > 0) {
            printf("str1 > str2!\n");
        } else {
            printf("str1 < str2!\n");
        }
    }
    return 0;
}

आउटपुट

str1 == str2 upto 9 characters!
str1 > str2!
  1. - C/C++ में #include <filename> और #include "filename" में अंतर?

    दोनों रूपों के बीच अंतर उस स्थान में है जहां प्रीप्रोसेसर शामिल की जाने वाली फाइल को खोजता है। #include <filename> प्रीप्रोसेसर एक कार्यान्वयन-निर्भर तरीके से खोजता है, यह कंपाइलर द्वारा पूर्व-निर्दिष्ट निर्देशिकाओं में खोजता है। इस विधि का उपयोग आमतौर पर स्टैंडर्ड लाइब्रेरी हेडर फाइलों को शा

  1. - C/C++ में const int*, const int * const, और int const * में अंतर?

    उपरोक्त प्रतीकों का अर्थ निम्नलिखित है: int* - int का पॉइंटर। यह काफी स्पष्ट है। int const * - const int का पॉइंटर। int * const - int का कॉन्स्ट पॉइंटर। int const * const - const int का कॉन्स्ट पॉइंटर। यह भी ध्यान दें कि: const int * और int const * समान हैं। const int * const और int const * const स

  1. - C# में String बनाम StringBuilder: अंतर

    स्ट्रिंग मैनिपुलेशन में सही चुनाव प्रदर्शन पर बड़ा प्रभाव डालता है। String (इम्यूटेबल) बनने के बाद **नहीं बदल सकती**। हर ऑपरेशन (+, Replace, Substring) **नई स्ट्रिंग** बनाता है। मेमोरी में नया ऑब्जेक्ट, पुराना गार्बेज कलेक्शन के लिए। थ्रेड-सेफ (इम्यूटेबिलिटी के कारण)। string str = Welcome!; str