Namensräume
Varianten
Aktionen

std::wcscmp

Von cppreference.com
< cpp‎ | string‎ | wide
 
 
 
 
Definiert in Header <cwchar>
int wcscmp( const wchar_t* lhs, const wchar_t* rhs );

Vergleicht zwei nullterminierte Breitzeichenketten lexikographisch.

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.

Inhalt

[bearbeiten] Parameter

lhs, rhs - Zeiger auf die zu vergleichenden nullterminierten Breitzeichenketten

[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] Hinweise

Diese Funktion ist nicht gebietsschemaabhängig, im Gegensatz zu std::wcscoll, und die Reihenfolge ist möglicherweise nicht aussagekräftig, wenn Zeichen aus verschiedenen Unicode-Blöcken zusammen verwendet werden oder wenn die Reihenfolge der Code-Einheiten nicht der Kollationsreihenfolge entspricht.

[bearbeiten] 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

А Б Г Л М С Х Ч

[bearbeiten] Siehe auch

vergleicht eine bestimmte Anzahl von Zeichen aus zwei breiten Zeichenketten
(Funktion) [bearbeiten]
vergleicht eine bestimmte Anzahl breiter Zeichen aus zwei Arrays
(Funktion) [bearbeiten]
vergleicht zwei Strings
(Funktion) [bearbeiten]
vergleicht zwei breite Zeichenketten gemäß der aktuellen Locale
(Funktion) [bearbeiten]
C-Dokumentation für wcscmp