strcmp
Von cppreference.com
| Definiert in Header <string.h> |
||
| 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 interpretiert als unsigned char), die sich in den verglichenen Strings unterscheiden.
Das Verhalten ist undefiniert, wenn lhs oder rhs keine Zeiger auf nullterminierte Byte-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 kommt.
Null, wenn lhs und rhs gleich sind.
Positiver Wert, wenn lhs lexikographisch nach rhs kommt.
[bearbeiten] Hinweise
Diese Funktion ist nicht gebietssensitiv (locale-sensitive), im Gegensatz zu strcoll und strxfrm.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <stdio.h> #include <string.h> void demo(const char* lhs, const char* rhs) { const int rc = strcmp(lhs, rhs); const char* rel = rc < 0 ? "precedes" : rc > 0 ? "follows" : "equals"; printf("[%s] %s [%s]\n", lhs, rel, rhs); } int main(void) { const char* string = "Hello World!"; demo(string, "Hello!"); demo(string, "Hello"); demo(string, "Hello there"); demo("Hello, everybody!" + 12, "Hello, somebody!" + 11); }
Ausgabe
[Hello World!] precedes [Hello!] [Hello World!] follows [Hello] [Hello World!] precedes [Hello there] [body!] equals [body!]
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.24.4.2 Die Funktion strcmp (S. TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.24.4.2 Die Funktion strcmp (S. TBD)
- C11-Standard (ISO/IEC 9899:2011)
- 7.24.4.2 Die Funktion strcmp (S. 365-366)
- C99-Standard (ISO/IEC 9899:1999)
- 7.21.4.2 Die Funktion strcmp (S. 328-329)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.11.4.2 Die Funktion strcmp
[bearbeiten] Siehe auch
| vergleicht eine bestimmte Anzahl von Zeichen zweier Strings (Funktion) | |
| (C95) |
vergleicht zwei breite Zeichenketten (Funktion) |
| vergleicht zwei Puffer (Funktion) | |
| vergleicht zwei Strings gemäß der aktuellen Locale (Funktion) | |
| C++ Dokumentation für strcmp
| |