Namespaces
Variants
Views
Actions

strncmp

From cppreference.com
< c‎ | string‎ | byte
Revision as of 07:43, 9 May 2014 by Newatthis (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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) [edit]
compares two buffers
(function) [edit]
compares two strings in accordance to the current locale
(function) [edit]
C++ documentation for strncmp