std:: wcscmp
|
Défini dans l'en-tête
<cwchar>
|
||
|
int
wcscmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs
)
;
|
||
Compare deux chaînes larges terminées par un nul 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 chaînes comparées.
Le comportement est indéfini si lhs ou rhs ne sont pas des pointeurs vers des chaînes larges terminées par un caractère nul.
Table des matières |
Paramètres
| lhs, rhs | - | pointeurs vers les chaînes de caractères larges terminées par un caractère nul à comparer |
Valeur de retour
Valeur négative si lhs apparaît avant rhs dans l'ordre lexicographique.
Zéro si lhs et rhs sont égaux.
Valeur positive si lhs apparaît après rhs dans l'ordre lexicographique.
Notes
Cette fonction n'est pas sensible aux paramètres régionaux, contrairement à std::wcscoll , et l'ordre peut ne pas être significatif lorsque des caractères de différents blocs Unicode sont utilisés ensemble ou lorsque l'ordre des unités de code ne correspond pas à l'ordre de collation.
Exemple
#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'; }
Sortie :
А Б Г Л М С Х Ч
Voir aussi
|
compare un certain nombre de caractères de deux chaînes larges
(fonction) |
|
|
compare un certain nombre de caractères larges de deux tableaux
(fonction) |
|
|
compare deux chaînes de caractères
(fonction) |
|
|
compare deux chaînes larges selon la locale courante
(fonction) |
|
|
Documentation C
pour
wcscmp
|
|