c/string/byte/strncmp: Difference between revisions
From cppreference.com
fmt |
m C main; corrected function name to remove the compiler error |
||
| Line 27: | Line 27: | ||
#include <stdio.h> | #include <stdio.h> | ||
int main() | int main() | ||
{ | { | ||
const char* string = "Hello World!"; | const char* string = "Hello World!"; | ||
| Line 44: | Line 44: | ||
//less than | //less than | ||
int c = | int c = (string, "Hello there world!", size); | ||
if (c <= -1) { | if (c <= -1) { | ||
printf("Left hand side is smaller than right hand side.\n"); | printf("Left hand side is smaller than right hand side.\n"); | ||
Revision as of 14:43, 9 May 2014
| Defined in header <string.h>
|
||
int strncmp( const char *lhs, const char *rhs, size_t count );
|
||
Compares at most count characters of two null-terminated byte strings. The comparison is done lexicographically.
Parameters
| lhs, rhs | - | pointers to the null-terminated byte strings to compare |
| count | - | maximum number of characters to compare |
Return value
Negative value if lhs is less than rhs.
0 if lhs is equal to rhs.
Positive value if lhs is greater than rhs.
Example
Run this code
#include <string.h>
#include <stdio.h>
int main(void)
{
const char* string = "Hello World!";
const int size = strlen(string);
//Matches
int a = strncmp(string, "Hello World!", 5);
if (a == 0) {
printf("The 5 first char of each string are matching.\n");
}
//Greater than
int b = strncmp(string, "Hello", size);
if (b >= 1) {
printf("Left hand side is bigger than right hand side.\n");
}
//less than
int c = strncmp(string, "Hello there world!", size);
if (c <= -1) {
printf("Left hand side is smaller than right hand side.\n");
}
}
Output:
The 5 first char of each string are matching.
Left hand side is bigger than right hand side.
Left hand side is smaller than right hand side.
See also
| compares two strings (function) | |
| compares two buffers (function) | |
| compares two strings in accordance to the current locale (function) | |
C++ documentation for strncmp
| |