strncmp() — Compare Strings
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
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
- strcmp() — Compare Strings
- strcspn() — Find Offset of First Character Match
- strncat() — Concatenate Strings
- strncpy() — Copy Strings
- strpbrk() — Find Characters in String
- strrchr() — Locate Last Occurrence of Character in String
- strspn() — Find Offset of First Non-matching Character
- wcscmp() — Compare Wide-Character Strings
- wcsncmp() — Compare Wide-Character Strings
- <string.h>
- __wcsicmp() — Compare Wide Character Strings without Case Sensitivity
- __wcsnicmp() — Compare Wide Character Strings without Case Sensitivity