इस tutorial में हम C programming में string के साथ strncmp() function और strnicmp() function का use करना example के साथ सीखेंगे.
इन दोनों functions का use सीखने से पहले आपको strcmp() function और strcmpi() function की जानकारी होना जरूरी है. इसलिए अगर आपने हमारा इन दोनों functions वाला tutorial नहीं पढ़ा तो पहले उन्हें जरूर पढ़ लें.
Read: strcmp() function and strcmpi() function in C Programming
जब आप strcmp() function की help से 2 strings को आपस में compare तब उन strings के सभी characters को compare किया जाता है.
लेकिन कभी-कभी programs में हम उन strings के सभी characters को compare करने की बजाय सिर्फ शुरू के n characters को compare करना चाहते हैं और इस काम के लिए हम strncmp() और strnicmp() functions का use करते हैं.
यानी जब आप इन functions को call करते हो तब आप 2 strings के अलावा एक int value (n) भी बताते हैं जिसका use इस काम के लिए किया जाता है की उन दोनों strings के कितने characters को compare करना है.
strncmp() और strnicmp() function की declaration “string.h” header file में होती है इसलिए इन functions को use करने के लिए string.h header file को अपने program के top में include करना जरूरी होता है.
strncmp() function in C Programming
strncmp() function की help से हम 2 strings के शुरू के n characters को compare करते हैं अगर दोनों strings n characters same होंगे तो ये function 0 value return करता हैं.
अगर दोनों strings के n characters same नहीं होंगे तब ये function कोई भी negative या positive value return करता है.
इसके अलावा सबसे जरूरी बात strncmp() case sensitive function हैं. जिसका मतलब ये होता है की इस function के लिए छोटा a और बड़ा A दो अलग-अलग characters हैं.
strncmp() function syntax:
int strncmp(string1, string2, int n);
strncmp() function का standard syntax ऊपर दिए गए syntax से थोड़ा अलग होता है. मैंने यहाँ original syntax को simplify form में लिखा है जिससे की आप strncmp() function को आसानी से समझ सकें.
Argument: जब आप strncmp() function को call करते हैं तब आप उन दो strings को arguments के तौर पर pass करते हैं जिन्हें आप compare करना चाहते हो.
इन दो strings के अलावा हम एक int value (n) भी pass करते हैं जिसका use इस काम के लिए किया जाता है की उन दोनों strings के कितने characters को compare करना है.
Return Value: strncmp() function arguments के तौर पर pass की गयी दोनों strings के n characters same होंगे तो ये function 0 value return करेगा.
strncmp() function example program:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20],str2[20];
printf("Enter Your First String : ");
gets(str1);
printf("Enter Your Second String : ");
gets(str2);
if((strncmp(str1,str2,3))==0)
{
printf("str1 and str2 are equal");
}
else
{
printf("str1 and str2 are not equal");
}
return 0;
}
Output 1:
Enter Your First String : Karan Enter Your Second String : Kiran str1 and str2 are not equal
Output 2:
Enter Your First String : Karan Enter Your Second String : Karim str1 and str2 are equal
Output 3:
Enter Your First String : Karan Enter Your Second String : KARAN str1 and str2 are not equal
Explanation:
जैसा की output 3 में देख सकते हो की strncmp() function का case sensitive होने की वजह से strings “Karan” और “KARAN” same नहीं हैं.
अगर आप चाहते हो की दोनों strings को compare करते वक्त case sensitivity check नहीं की जाए यानी छोटा a और बड़ा A दो अलग-अलग characters नहीं माने जाए तो इसके लिए हम strnicmp() function का use करते हैं.
strnicmp() function in C Programming
strnicmp() function का use भी strncmp() function की तरह 2 strings के शुरू के n characters compare करता है. बस फर्क ये की strnicmp() case insensitive function है.
जिसका मतलब ये होता है की इस function के लिए छोटा a और बड़ा A दो अलग-अलग characters नहीं हैं.
strnicmp() function syntax:
int strnicmp(string1, string2,int n);
strnicmp() function का standard syntax ऊपर दिए गए syntax से थोड़ा अलग होता है. मैंने यहाँ original syntax को simplify form में लिखा है जिससे की आप strnicmp() function को आसानी से समझ सकें.
strnicmp() function example program:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[20],str2[20];
printf("Enter Your First String : ");
gets(str1);
printf("Enter Your Second String : ");
gets(str2);
if((strnicmp(str1,str2,3))==0)
{
printf("str1 and str2 are equal");
}
else
{
printf("str1 and str2 are not equal");
}
return 0;
}
Output 1:
Enter Your First String : Karan Enter Your Second String : Kiran str1 and str2 are not equal
Output 2:
Enter Your First String : Karan Enter Your Second String : Karim str1 and str2 are equal
Output 3:
Enter Your First String : Karan Enter Your Second String : KARAN str1 and str2 are equal