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!