Namespaces
Variants

std:: strcmp

From cppreference.net
Défini dans l'en-tête <cstring>
int strcmp ( const char * lhs, const char * rhs ) ;

Compare lexicographiquement deux chaînes d'octets terminées par un caractère nul.

Le signe du résultat est le signe de la différence entre les valeurs de la première paire de caractères (tous deux interprétés comme unsigned char ) qui diffèrent dans les chaînes comparées.

Le comportement est indéfini si lhs ou rhs ne sont pas des pointeurs vers des chaînes de caractères terminées par un caractère nul.

Table des matières

Paramètres

lhs, rhs - pointeurs vers les chaînes d'octets terminées par un caractère nul à comparer

Valeur de retour

Valeur négative si lhs apparaît avant rhs dans l'ordre lexicographique.

Zéro si lhs et rhs sont égaux.

Valeur positive si lhs apparaît après rhs dans l'ordre lexicographique.

Exemple

#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';
}

Sortie :

Garfield
Heathcliff
Hobbes
Snagglepuss

Voir aussi

compare un certain nombre de caractères de deux chaînes
(fonction)
compare deux chaînes larges
(fonction)
compare deux tampons
(fonction)
compare deux chaînes selon la locale actuelle
(fonction)
Documentation C pour strcmp