std:: wmemcmp
|
Défini dans l'en-tête
<cwchar>
|
||
|
int
wmemcmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs,
std::
size_t
count
)
;
|
||
Compare les premiers count caractères larges des tableaux de caractères larges pointés par lhs et rhs . La comparaison est effectuée de manière lexicographique.
Le signe du résultat est le signe de la différence entre les valeurs de la première paire de caractères larges qui diffèrent dans les tableaux comparés.
Si count est nul, la fonction ne fait rien.
Table des matières |
Paramètres
| lhs, rhs | - | pointeurs vers les tableaux de caractères larges à comparer |
| count | - | nombre de caractères larges à examiner |
Valeur de retour
Valeur négative si la valeur du premier caractère large différent dans lhs est inférieure à la valeur du caractère large correspondant dans rhs : lhs précède rhs dans l'ordre lexicographique.
0 si tous count caractères larges de lhs et rhs sont égaux.
Valeur positive si la valeur du premier caractère large différent dans lhs est supérieure à la valeur du caractère large correspondant dans rhs : rhs précède lhs dans l'ordre lexicographique.
Notes
Cette fonction n'est pas sensible aux paramètres régionaux et ne prête aucune attention aux valeurs des wchar_t qu'elle examine : les caractères nuls ainsi que les caractères larges non valides sont également comparés.
Exemple
#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 << " se compare égal à "; else if (rc < 0) std::wcout << " précède "; else if (rc > 0) std::wcout << " suit "; std::wcout << std::wstring(rhs, sz) << " dans l'ordre lexicographique\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); }
Sortie possible :
αβγ précède αβδ dans l'ordre lexicographique αβδ suit αβγ dans l'ordre lexicographique αβγ se compare égal à αβγ dans l'ordre lexicographique
Voir aussi
|
compare deux chaînes larges
(fonction) |
|
|
compare deux tampons
(fonction) |
|
|
compare un certain nombre de caractères de deux chaînes larges
(fonction) |
|
|
Documentation C
pour
wmemcmp
|
|