strncmp

From cppreference.com
< c‎ | string‎ | byte
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.

Contents

[edit] Parameters

lhs, rhs - pointers to the null-terminated byte strings to compare
count - maximum number of characters to compare

[edit] 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.

[edit] Example

#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.

[edit] See also

compares two strings
(function)
compares two buffers
(function)
compares two strings in accordance to the current locale
(function)
C++ documentation for strncmp