
- C Library - Home
- C Library - <assert.h>
- C Library - <complex.h>
- C Library - <ctype.h>
- C Library - <errno.h>
- C Library - <fenv.h>
- C Library - <float.h>
- C Library - <inttypes.h>
- C Library - <iso646.h>
- C Library - <limits.h>
- C Library - <locale.h>
- C Library - <math.h>
- C Library - <setjmp.h>
- C Library - <signal.h>
- C Library - <stdalign.h>
- C Library - <stdarg.h>
- C Library - <stdbool.h>
- C Library - <stddef.h>
- C Library - <stdio.h>
- C Library - <stdlib.h>
- C Library - <string.h>
- C Library - <tgmath.h>
- C Library - <time.h>
- C Library - <wctype.h>
- C Programming Resources
- C Programming - Tutorial
- C - Useful Resources
C Library - strncmp() function
The C library strncmp() function is used to compare at most a specified number of characters from two null-terminated strings. This string is also known as end of the string i.e. defined through the occurrence of a null character.
Syntax
Following is the syntax of the C library strncmp() function −
strncmp(const char *str1, const char *str2, size_t n)
Parameters
This function accepts the following parameters −
str1 − This is the first string to be compared.
str2 − This is the second string to be compared.
n − This parameter refer to maximum number of characters to be compared.
Return Value
This function returns integer value which is −
Negative, if the str1 is less than str2.
Positive, if the str2 is less than str1.
zero, if the str1 is equal to str2.
Example 1
Following is the C library strncmp() function that checks whether the given two strings are equal or not.
#include <stdio.h> #include <string.h> int main() { char str_1[] = "java"; char str_2[] = "java"; if (strncmp(str_1, str_2, strlen(str_2)) == 0) { printf("The strings '%s' and '%s' are equal.\n", str_1, str_2); } else { printf("The strings '%s' and '%s' are not equal.\n", str_1, str_2); } return 0; }
Output
On execution of above code, we get the following result −
The strings 'java' and 'java' are equal.
Example 2
Below the mentioned program state the two functions of C − strcpy() which create the string copy and using strncmp(), it compares the string.
#include <stdio.h> #include <string.h> int main () { char str1[15]; char str2[15]; int ret; strcpy(str1, "abcdef"); strcpy(str2, "abcdEF"); ret = strncmp(str1, str2, 4); if(ret < 0) { printf("str1 is less than str2"); } else if(ret > 0) { printf("str2 is less than str1"); } else { printf("str1 is equal to str2"); } return(0); }
Output
The above code produces the following output−
str2 is less than str1