wmemcmp
|
Definiert im Header
<wchar.h>
|
||
|
int
wmemcmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs,
size_t
count
)
;
|
(seit C95) | |
Vergleicht die ersten count Breitzeichen der Breitzeichen-Arrays (oder kompatiblen Ganzzahltypen), auf die lhs und rhs zeigen. Der Vergleich erfolgt lexikographisch.
Das Vorzeichen des Ergebnisses ist das Vorzeichen der Differenz zwischen den Werten des ersten Paares von Breitzeichen, die sich in den verglichenen Arrays unterscheiden.
Wenn
count
null ist, tut die Funktion nichts.
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 geht rhs in lexikografischer Reihenfolge voraus.
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 gebietsschemabezüglich und beachtet nicht die Werte der wchar_t Objekte, die sie untersucht: Nullzeichen sowie ungültige Breitzeichen werden ebenfalls verglichen.
Beispiel
#include <locale.h> #include <stdio.h> #include <wchar.h> void demo(const wchar_t* lhs, const wchar_t* rhs, size_t sz) { for (size_t n = 0; n < sz; ++n) putwchar(lhs[n]); int rc = wmemcmp(lhs, rhs, sz); if (rc == 0) wprintf(L" compares equal to "); else if(rc < 0) wprintf(L" precedes "); else if(rc > 0) wprintf(L" follows "); for (size_t n = 0; n < sz; ++n) putwchar(rhs[n]); wprintf(L" in lexicographical order\n"); } int main(void) { setlocale(LC_ALL, "en_US.utf8"); wchar_t a1[] = {L'α',L'β',L'γ'}; wchar_t a2[] = {L'α',L'β',L'δ'}; size_t sz = sizeof a1 / sizeof *a1; demo(a1, a2, sz); demo(a2, a1, sz); demo(a1, a1, sz); }
Ausgabe:
αβγ precedes αβδ in lexicographical order αβδ follows αβγ in lexicographical order αβγ compares equal to αβγ in lexicographical order
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.29.4.4.5 Die wmemcmp-Funktion (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.29.4.4.5 Die wmemcmp-Funktion (S.: TBD)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.29.4.4.5 Die wmemcmp-Funktion (S: 435)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.24.4.4.5 Die wmemcmp-Funktion (S: 381)
Siehe auch
|
(C95)
|
vergleicht zwei Breitzeichenketten
(Funktion) |
|
vergleicht zwei Puffer
(Funktion) |
|
|
(C95)
|
vergleicht eine bestimmte Anzahl von Zeichen aus zwei Breitzeichenketten
(Funktion) |
|
C++-Dokumentation
für
wmemcmp
|
|