std:: wcscoll
|
Definiert in Header
<cwchar>
|
||
|
int
wcscoll
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs
)
;
|
||
Vergleicht zwei nullterminierte Breitzeichenketten gemäß dem zuletzt durch std::setlocale installierten Gebietsschema, wie durch die Kategorie LC_COLLATE definiert.
Inhaltsverzeichnis |
Parameter
| lhs, rhs | - | Zeiger auf die nullterminierten Breitzeichenketten zum Vergleichen |
Rückgabewert
Negativer Wert, wenn lhs kleiner als (vorangeht) rhs ist.
0 wenn lhs gleich rhs ist.
Positiver Wert, wenn lhs größer als (folgt nach) rhs ist.
Hinweise
Die Sortierreihenfolge ist die Wörterbuchreihenfolge: Die Position des Buchstabens im nationalen Alphabet (seine Äquivalenzklasse ) hat höhere Priorität als seine Groß-/Kleinschreibung oder Variante. Innerhalb einer Äquivalenzklasse werden Kleinbuchstaben vor ihren Großbuchstaben-Äquivalenten sortiert, und die sprachspezifische Reihenfolge kann auf Zeichen mit diakritischen Zeichen angewendet werden. In einigen Sprachen werden Zeichengruppen als einzelne Sortiereinheiten verglichen. Zum Beispiel folgt "ch" im Tschechischen auf "h" und geht vor "i" , und "dzs" im Ungarischen folgt auf "dz" und geht vor "g" .
Beispiel
#include <clocale> #include <iostream> void try_compare(const wchar_t* p1, const wchar_t* p2) { if (std::wcscoll(p1, p2) < 0) std::wcout << p1 << " before " << p2 << '\n'; else std::wcout << p2 << " before " << p1 << '\n'; } int main() { std::setlocale(LC_ALL, "en_US.utf8"); std::wcout << "In the American locale: "; try_compare(L"hrnec", L"chrt"); std::setlocale(LC_COLLATE, "cs_CZ.utf8"); std::wcout << "In the Czech locale: "; try_compare(L"hrnec", L"chrt"); std::setlocale(LC_COLLATE, "en_US.utf8"); std::wcout << "In the American locale: "; try_compare(L"år", L"ängel"); std::setlocale(LC_COLLATE, "sv_SE.utf8"); std::wcout << "In the Swedish locale: "; try_compare(L"år", L"ängel"); }
Ausgabe:
In the American locale: chrt before hrnec In the Czech locale: hrnec before chrt In the American locale: ängel before år In the Swedish locale: år before ängel
Siehe auch
|
vergleicht zwei Zeichenketten gemäß der aktuellen Locale
(Funktion) |
|
|
[virtual]
|
vergleicht zwei Zeichenketten unter Verwendung der Kollationsregeln dieser Facette
(virtuelle geschützte Memberfunktion von
std::collate<CharT>
)
|
transformiert eine Wide-String, sodass
wcscmp
das gleiche Ergebnis wie
wcscoll
liefern würde
(Funktion) |
|
|
C-Dokumentation
für
wcscoll
|
|