Format
#include <string.h> int strncmp(const char *string1, const char *string2, size_t count);
Language Level: ANSI
Threadsafe: Yes.
Description
The strncmp() function compares string1 and string2 to the maximum of count.
Return Value
The strncmp() function returns a value indicating the
relationship between the strings, as follows:
Value | Meaning |
Less than 0 | string1 less than string2 |
0 | string1 equivalent to string2 |
Greater than 0 | string1 greater than string2 |
Example that uses strncmp()
This example demonstrates the difference between the strcmp() function and the strncmp() function.
#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 ); } void print_result( int res, char * p_buffer1, char * p_buffer2 ) { if ( res == 0 ) 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 ); } /***************** Output should be similar to: ***************** Comparison of each character strcmp: "abcdefg" is less than "abcfg" Comparison of only the first 3 characters strncmp: "abcdefg" is identical to "abcfg" */
Related Information
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.