std:: wmemcmp
|
Definiert in Header
<cwchar>
|
||
|
int
wmemcmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs,
std::
size_t
count
)
;
|
||
Vergleicht die ersten count Breitzeichen der Breitzeichen-Arrays, auf die lhs und rhs zeigen. Der Vergleich erfolgt lexikografisch.
Das Vorzeichen des Ergebnisses ist das Vorzeichen der Differenz zwischen den Werten des ersten Paars von Breitzeichen, die sich in den verglichenen Arrays unterscheiden.
Wenn count null ist, führt die Funktion keine Aktion aus.
Inhaltsverzeichnis |
Parameter
| lhs, rhs | - | Zeiger auf die zu vergleichenden Breitzeichen-Arrays |
| count | - | Anzahl der zu untersuchenden Breitzeichen |
Rückgabewert
Negativer Wert, wenn der Wert des ersten abweichenden Breitzeichens in lhs kleiner ist als der Wert des entsprechenden Breitzeichens in rhs : lhs steht vor rhs in lexikografischer Reihenfolge.
0 wenn alle count Breitzeichen von lhs und rhs gleich sind.
Positiver Wert, wenn der Wert des ersten abweichenden Breitzeichens in lhs größer ist als der Wert des entsprechenden Breitzeichens in rhs : rhs geht lhs in lexikografischer Reihenfolge voraus.
Hinweise
Diese Funktion ist nicht lokalisierungssensitiv und schenkt den Werten der wchar_t Objekte, die sie untersucht, keine Beachtung: Nullzeichen sowie ungültige Breitzeichen werden ebenfalls verglichen.
Beispiel
#include <clocale> #include <cwchar> #include <iostream> #include <locale> #include <string> void demo(const wchar_t* lhs, const wchar_t* rhs, std::size_t sz) { std::wcout << std::wstring(lhs, sz); int rc = std::wmemcmp(lhs, rhs, sz); if (rc == 0) std::wcout << " compares equal to "; else if (rc < 0) std::wcout << " precedes "; else if (rc > 0) std::wcout << " follows "; std::wcout << std::wstring(rhs, sz) << " in lexicographical order\n"; } int main() { std::setlocale(LC_ALL, "en_US.utf8"); std::wcout.imbue(std::locale("en_US.utf8")); wchar_t a1[] = {L'α',L'β',L'γ'}; constexpr std::size_t sz = sizeof a1 / sizeof *a1; wchar_t a2[sz] = {L'α',L'β',L'δ'}; demo(a1, a2, sz); demo(a2, a1, sz); demo(a1, a1, sz); }
Mögliche Ausgabe:
αβγ precedes αβδ in lexicographical order αβδ follows αβγ in lexicographical order αβγ compares equal to αβγ in lexicographical order
Siehe auch
|
vergleicht zwei Breitzeichenketten
(Funktion) |
|
|
vergleicht zwei Puffer
(Funktion) |
|
|
vergleicht eine bestimmte Anzahl von Zeichen aus zwei Breitzeichenketten
(Funktion) |
|
|
C-Dokumentation
für
wmemcmp
|
|