Syntax
#include <string.h> int strncmp(const char *string1, const char *string2, size_t count);Description
strncmp compares the first count bytes of string1 and string2.
strncmp returns a value indicating the relationship between the substrings, as follows: compact break=fit.
Value
This example demonstrates the difference between strcmp and strncmp.
#include <stdio.h>#include <string.h> #define SIZE 10 int main(void) { int result; int index = 3; char buffer1[SIZE] = "abcdefg"; char buffer2[SIZE] = "abcfg"; void print_result(int, char *, char *); result = strcmp(buffer1, buffer2); printf("Comparison of each character\n"); printf(" strcmp: "); print_result(result, buffer1, buffer2); result = strncmp(buffer1, buffer2, index); printf("\nComparison of only the first %i characters\n", index); printf(" strncmp: "); print_result(result, buffer1, buffer2); return 0; /**************************************************************************** The output should be: Comparison of each character strcmp: "abcdefg" is less than "abcfg" Comparison of only the first 3 characters strncmp: "abcdefg" is identical to "abcfg" ****************************************************************************/ } void print_result(int res,char *p_buffer1,char *p_buffer2) { if (0 == res) printf("\"%s\" is identical to \"%s\"\n", p_buffer1, p_buffer2); else if (res < 0) printf("\"%s\" is less than \"%s\"\n", p_buffer1, p_buffer2); else printf("\"%s\" is greater than \"%s\"\n", p_buffer1, p_buffer2); }Related Information