Namespaces
Variants
Views
Actions

std::strcmp

From cppreference.com
< cpp‎ | string‎ | byte
Revision as of 16:20, 2 November 2012 by P12bot (Talk | contribs)

Defined in header <cstring>
int strcmp( const char *lhs, const char *rhs );

Compares two null-terminated byte strings. The comparison is done lexicographically.

Both lhs and rhs should point to valid strings.

Contents

Parameters

lhs, rhs - pointers to the null-terminated byte strings 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 <vector>
#include <cstring>
#include <algorithm>
#include <iostream>
 
int main() 
{
    std::vector<const char*> cats {"Heathcliff", "Snagglepuss", "Hobbes", "Garfield"};
    std::sort(cats.begin(), cats.end(), [](const char *strA, const char *strB) {
        return std::strcmp(strA, strB) < 0;
    }); 
 
    for (const char *cat : cats) {
        std::cout << cat << '\n';
    }
}

Output:

Garfield
Heathcliff
Hobbes
Snagglepuss

See also

Template:cpp/string/byte/dcl list strncmpTemplate:cpp/string/byte/dcl list memcmpTemplate:cpp/string/byte/dcl list strcoll
C documentation for strcmp