Namespaces
Variants

strcmp

From cppreference.net
< c ‎ | string ‎ | byte
Definiert im 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 Zeichenpaars (beide interpretiert als unsigned char ), die sich in den verglichenen Zeichenketten unterscheiden.

Das Verhalten ist undefiniert, wenn lhs oder rhs keine Zeiger auf nullterminierte Byte-Strings sind.

Inhaltsverzeichnis

Parameter

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

Rückgabewert

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

Null, wenn lhs und rhs gleich sind.

Positiver Wert, wenn lhs nach rhs in lexikografischer Reihenfolge erscheint.

Hinweise

Diese Funktion ist nicht gebietsschemabezogen, im Gegensatz zu strcoll und strxfrm .

Beispiel

#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!]

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.24.4.2 Die strcmp-Funktion (S: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.24.4.2 Die strcmp-Funktion (S: TBD)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.24.4.2 Die strcmp-Funktion (S: 365-366)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.21.4.2 Die strcmp-Funktion (S: 328-329)
  • C89/C90 Standard (ISO/IEC 9899:1990):
  • 4.11.4.2 Die strcmp-Funktion

Siehe auch

vergleicht eine bestimmte Anzahl von Zeichen zweier Zeichenketten
(Funktion)
(C95)
vergleicht zwei Wide-Strings
(Funktion)
vergleicht zwei Puffer
(Funktion)
vergleicht zwei Zeichenketten gemäß der aktuellen Locale
(Funktion)