Namespaces
Variants

c/string/byte/strncmp: Difference between revisions

From cppreference.com
< c | string | byte
fmt
Newatthis (talk | contribs)
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 = strcmp(string, "Hello there world!", size);
     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

#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) [edit]
compares two buffers
(function) [edit]
compares two strings in accordance to the current locale
(function) [edit]
C++ documentation for strncmp