Namespaces
Variants

std:: strcmp

From cppreference.net
Definido en el encabezado <cstring>
int strcmp ( const char * lhs, const char * rhs ) ;

Compara dos cadenas de bytes terminadas en nulo lexicográficamente.

El signo del resultado es el signo de la diferencia entre los valores del primer par de caracteres (ambos interpretados como unsigned char ) que difieren en las cadenas que se están comparando.

El comportamiento es indefinido si lhs o rhs no son punteros a cadenas terminadas en nulo.

Contenidos

Parámetros

lhs, rhs - punteros a las cadenas de bytes terminadas en nulo a comparar

Valor de retorno

Valor negativo si lhs aparece antes que rhs en orden lexicográfico.

Cero si lhs y rhs son iguales.

Valor positivo si lhs aparece después de rhs en orden lexicográfico.

Ejemplo

#include <algorithm>
#include <cstring>
#include <iostream>
#include <vector>
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';
}

Salida:

Garfield
Heathcliff
Hobbes
Snagglepuss

Véase también

compara un número determinado de caracteres de dos cadenas
(función)
compara dos cadenas anchas
(función)
compara dos búferes
(función)
compara dos cadenas de acuerdo con la configuración regional actual
(función)