Namespaces
Variants
Views
Actions

strncmp

From cppreference.com
< c‎ | string‎ | byte
Revision as of 12:16, 17 June 2013 by P12 (Talk | contribs)

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

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

#include <string.h>
#include <stdio.h>
 
int main() 
{
    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 = strcmp(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) [edit]
compares two buffers
(function) [edit]
compares two strings in accordance to the current locale
(function) [edit]
C++ documentation for strncmp