Namespaces
Variants

std:: strcmp

From cppreference.net
Definiert im Header <cstring>
int strcmp ( const char * lhs, const char * rhs ) ;

Vergleicht zwei nullterminierte Byte-Strings lexikographisch.

Das Vorzeichen des Ergebnisses ist das Vorzeichen der Differenz zwischen den Werten des ersten Zeichenpaars (beide interpretiert als unsigned char ), das sich in den verglichenen Zeichenketten unterscheidet.

Das Verhalten ist undefiniert, wenn lhs oder rhs keine Zeiger auf nullterminierte Zeichenketten sind.

Inhaltsverzeichnis

Parameter

lhs, rhs - Zeiger auf die nullterminierten Byte-Strings zum Vergleichen

Rückgabewert

Negativer Wert, wenn lhs vor rhs in lexikografischer Reihenfolge erscheint.

Null, wenn lhs und rhs gleich sind.

Positiver Wert, wenn lhs nach rhs in der lexikographischen Reihenfolge erscheint.

Beispiel

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

Ausgabe:

Garfield
Heathcliff
Hobbes
Snagglepuss

Siehe auch

vergleicht eine bestimmte Anzahl von Zeichen aus zwei Zeichenketten
(Funktion)
vergleicht zwei Wide-Strings
(Funktion)
vergleicht zwei Puffer
(Funktion)
vergleicht zwei Zeichenketten gemäß der aktuellen Locale
(Funktion)
C-Dokumentation für strcmp