##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

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

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

Run this code

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

### [edit] See also

strcmp | compares two strings (function) [edit]
memcmp | compares two buffers (function) [edit]
strcoll | compares two strings in accordance to the current locale (function) [edit]
C++ documentation for strncmp

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/string/byte/strncmp&oldid=62023"