Compares not more than maxchar characters of two ASCII character strings and returns a negative, 0, or positive integer, indicating that the ASCII values of the individual characters in the first string are less than, equal to, or greater than the values in the second string.
#include <string.h> int strncmp (const char *str_1, const char *str_2, size_t maxchar);
< 0 | Indicates that str_1 is less than str_2. |
= 0 | Indicates that str_1 equals str_2. |
> 0 | Indicates that str_1 is greater than str_2. |
#include <string.h> #include <stdio.h> $ create tmp.c main() { printf( "%d\n", strncmp("abcde", "abc", 3)); } $ cc tmp.cWhen linked and executed, this example returns 0, because the first 3 characters of the 2 strings are equal:
$ run tmp 0
#include <string.h> #include <stdio.h> $ create tmp.c main() { printf( "%d\n", strncmp("abcde", "abc", 4)); } $ cc tmp.cWhen linked and executed, this example returns a value greater than 0 because the first 4 characters of the 2 strings are not equal (The "d" in the first string is not equal to the null character in the second):
$ run tmp 100