std:: wcscmp
|
Definiert in Header
<cwchar>
|
||
|
int
wcscmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs
)
;
|
||
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 lexikografischer Reihenfolge erscheint.
Null, wenn lhs und rhs gleich sind.
Positiver Wert, wenn lhs nach rhs in der lexikographischen Reihenfolge erscheint.
Hinweise
Diese Funktion ist im Gegensatz zu std::wcscoll nicht lokalisierungsabhängig, und die Reihenfolge kann bedeutungslos sein, wenn Zeichen aus verschiedenen Unicode-Blöcken gemeinsam verwendet werden oder wenn die Reihenfolge der Codeeinheiten nicht der Sortierreihenfolge entspricht.
Beispiel
#include <algorithm> #include <cwchar> #include <iostream> #include <locale> #include <vector> int main() { std::vector<const wchar_t*> leaders { L"Ленин", L"Сталин", L"Маленков", L"Хрущёв", L"Брежнев", L"Андропов", L"Черненко", L"Горбачёв" }; std::ranges::sort(leaders, [](auto leaderLHS, auto leaderRHS) { return std::wcscmp(leaderLHS, leaderRHS) < 0; }); std::setlocale(LC_ALL, "en_US.utf8"); std::wcout.imbue(std::locale("en_US.utf8")); for (auto leader : leaders) std::wcout << leader[0] << ' '; std::wcout << '\n'; }
Ausgabe:
А Б Г Л М С Х Ч
Siehe auch
|
vergleicht eine bestimmte Anzahl von Zeichen aus zwei Breitzeichen-Zeichenketten
(Funktion) |
|
|
vergleicht eine bestimmte Anzahl von Breitzeichen aus zwei Arrays
(Funktion) |
|
|
vergleicht zwei Zeichenketten
(Funktion) |
|
|
vergleicht zwei Breitzeichen-Zeichenketten gemäß der aktuellen Locale
(Funktion) |
|
|
C-Dokumentation
für
wcscmp
|
|