The ones who are crazy enough to think they can change the world are the ones who do.
- Steve Jobs

strnicmp() In C

Purpose of strnicmp()

strnicmp() is one of the inbuilt string function in c programming which is used to compare the first n numbers of characters in a string str1 and str2.

How strnicmp() Works

The following diagram clearly illustrate the working principle of strnicmp() inbuilt string function in C.

strnicmp() in c

In the above diagram strnicmp() takes three parameters. First two parameters are strings which are to be compared whereas third parameter is an integer which tells the compiler, how much characters of the strings is to be compared.

Syntax - strnicmp()

  • strnicmp() accepts three parameters.
  • First two parameters are string whereas third parameter is a integer
  • To use strnicmp() inbuilt string function in C, we need to declare #include<string.h> header file.
Syntax
strnicmp(str1, str2, n);

C Program - strnicmp()

Let us work through stricmp() function, In the following program we will compare the first n numbers of characters in a string str1 and str2.

c-using-strnicmp.c
#include <stdio.h>
#include<string.h>
int main()
{
char str1[20] = "this is strnicmp", str2[20] = "THIS IS strnicmp";
if(strnicmp(str1, str2, 8) == 0)
printf("The strings str1 and str2 are same ");
return 0;
}
The strings str1 and str2 are same

Note:

The above program defines the function strnicmp(), which is used to compare two strings without any discrimination between uppercase and lowercase letters.

C Program - Without strnicmp()

Let us compare the first n numbers of characters in a string str1 and str2 without using any inbuilt string functions.

c-without-strnicmp.c
#include <stdio.h>
#include<string.h>
int main()
{
char str1[15]="AbC";
char str2[15]="aBc";
char len = 3;
int i, j = 0;
for(i = 0 ; i < len; i++)
{
if(str1[i]-str2[i] == 32||str1[i]-str2[i] == -32)
j++;
}
if(i==j)
printf("The strings str1 and str2 are same");
else
printf("The strings str1 and str2 are different");
return 0;
}
The strings str1 and str2 are same

Note:

The above program looks verbose but yields the same result.

Report Us

We may make mistakes(spelling, program bug, typing mistake and etc.), So we have this container to collect mistakes. We highly respect your findings.

Report