std:: strcmp
|
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
|
|