Namespaces
Variants

wcscmp

From cppreference.net
< c ‎ | string ‎ | wide
Definiert im Header <wchar.h>
int wcscmp ( const wchar_t * lhs, const wchar_t * rhs ) ;
(seit C95)

Vergleicht zwei nullterminierte Breitzeichenketten lexikografisch.

Das Vorzeichen des Ergebnisses ist das Vorzeichen der Differenz zwischen den Werten des ersten Paares von Breitzeichen, die sich in den verglichenen Zeichenketten unterscheiden.

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

Inhaltsverzeichnis

Parameter

lhs, rhs - Zeiger auf die nullterminierten Breitzeichenketten 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 lexikographischer Reihenfolge erscheint.

Hinweise

Diese Funktion ist im Gegensatz zu wcscoll nicht lokalisierungsabhängig, und die Reihenfolge kann bedeutungslos sein, wenn Zeichen aus verschiedenen Unicode-Blöcken zusammen verwendet werden oder wenn die Reihenfolge der Codeeinheiten mit keiner Sortierreihenfolge übereinstimmt.

Beispiel

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
void demo(const wchar_t* lhs, const wchar_t* rhs)
{
    int rc = wcscmp(lhs, rhs);
    const char *rel = rc < 0 ? "precedes" : rc > 0 ? "follows" : "equals";
    setlocale(LC_ALL, "en_US.utf8");
    printf("[%ls] %s [%ls]\n", lhs, rel, rhs);
}
int main(void)
{
    const wchar_t* string = L"どうもありがとうございます";
    demo(string, L"どうも");
    demo(string, L"助かった");
    demo(string + 9, L"ありがとうございます" + 6);
}

Mögliche Ausgabe:

[どうもありがとうございます] follows [どうも]
[どうもありがとうございます] precedes [助かった]
[ざいます] equals [ざいます]

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.29.4.4.1 Die wcscmp-Funktion (S: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.29.4.4.1 Die wcscmp-Funktion (S: TBD)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.29.4.4.1 Die wcscmp-Funktion (S: 433)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.24.4.4.1 Die wcscmp-Funktion (S: 379)

Siehe auch

(C95)
vergleicht eine bestimmte Anzahl von Zeichen aus zwei Breitzeichen-Strings
(Funktion)
(C95)
vergleicht eine bestimmte Anzahl von Breitzeichen aus zwei Arrays
(Funktion)
vergleicht zwei Strings
(Funktion)
(C95)
vergleicht zwei Breitzeichen-Strings gemäß der aktuellen Locale
(Funktion)