std::strcmp
Von cppreference.com
| Definiert in 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 Paares von Zeichen (beide als unsigned char interpretiert), die sich in den verglichenen Strings unterscheiden.
Das Verhalten ist undefiniert, wenn lhs oder rhs keine Zeiger auf nullterminierte Strings sind.
Inhalt |
[bearbeiten] Parameter
| lhs, rhs | - | Zeiger auf die zu vergleichenden nullterminierten Byte-Strings |
[bearbeiten] Rückgabewert
Negativer Wert, wenn lhs lexikographisch vor rhs steht.
Null, wenn lhs und rhs gleich sind.
Positiver Wert, wenn lhs lexikographisch nach rhs steht.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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
[bearbeiten] Siehe auch
| vergleicht eine bestimmte Anzahl von Zeichen aus zwei Strings (Funktion) | |
| vergleicht zwei breite Zeichenketten (Funktion) | |
| vergleicht zwei Puffer (Funktion) | |
| vergleicht zwei Strings gemäß der aktuellen Locale (Funktion) | |
| C-Dokumentation für strcmp
| |