function
<cstring>
strncmp
int strncmp ( const char * str1, const char * str2, size_t num );
Compare characters of two strings
Compares up to num characters of the C string str1 to those of the C string str2.
This function starts comparing the first character of each string. If they are equal to each other, it continues with the following pairs until the characters differ, until a terminating null-character is reached, or until num characters match in both strings, whichever happens first.
Parameters
- str1
- C string to be compared.
- str2
- C string to be compared.
- num
- Maximum number of characters to compare.
size_t is an unsigned integral type.
Return Value
Returns an integral value indicating the relationship between the strings:
return value | indicates |
<0 | the first character that does not match has a lower value in ptr1 than in ptr2 |
0 | the contents of both strings are equal |
>0 | the first character that does not match has a greater value in ptr1 than in ptr2 |
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
/* strncmp example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[][5] = { "R2D2" , "C3PO" , "R2A6" };
int n;
puts ("Looking for R2 astromech droids...");
for (n=0 ; n<3 ; n++)
if (strncmp (str[n],"R2xx",2) == 0)
{
printf ("found %s\n",str[n]);
}
return 0;
}
| |
Output:
Looking for R2 astromech droids...
found R2D2
found R2A6
|
See also
- strcmp
- Compare two strings (function
)
- memcmp
- Compare two blocks of memory (function
)
- strrchr
- Locate last occurrence of character in string (function
)
- strspn
- Get span of character set in string (function
)