wcscoll
|
Défini dans l'en-tête
<wchar.h>
|
||
|
int
wcscoll
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs
)
;
|
(depuis C95) | |
Compare deux chaînes larges terminées par un caractère nul selon l'ordre de collation défini par la LC_COLLATE catégorie de la locale actuellement installée.
Table des matières |
Paramètres
| lhs, rhs | - | pointeurs vers les chaînes larges terminées par un caractère nul à comparer |
Valeur de retour
Valeur négative si
lhs
est
inférieur à
(précède)
rhs
.
0
si
lhs
est
égal à
rhs
.
Valeur positive si
lhs
est
supérieur à
(suit)
rhs
.
Notes
L'ordre de collation est l'ordre du dictionnaire : la position de la lettre dans l'alphabet national (sa classe d'équivalence ) a une priorité plus élevée que sa casse ou sa variante. Au sein d'une classe d'équivalence, les caractères minuscules se trient avant leurs équivalents majuscules et l'ordre spécifique à la locale peut s'appliquer aux caractères avec diacritiques. Dans certaines locales, des groupes de caractères sont comparés comme des unités de collation uniques. Par exemple, "ch" en tchèque suit "h" et précède "i" , et "dzs" en hongrois suit "dz" et précède "g" .
Exemple
#include <stdio.h> #include <wchar.h> #include <locale.h> void try_compare(const wchar_t* p1, const wchar_t* p2) { if(wcscoll(p1, p2) < 0) printf("%ls before %ls\n", p1, p2); else printf("%ls before %ls\n", p2, p1); } int main(void) { setlocale(LC_ALL, "en_US.utf8"); printf("In the American locale: "); try_compare(L"hrnec", L"chrt"); setlocale(LC_COLLATE, "cs_CZ.utf8"); printf("In the Czech locale: "); try_compare(L"hrnec", L"chrt"); setlocale(LC_COLLATE, "en_US.utf8"); printf("In the American locale: "); try_compare(L"år", L"ängel"); setlocale(LC_COLLATE, "sv_SE.utf8"); printf("In the Swedish locale: "); try_compare(L"år", L"ängel"); }
Sortie possible :
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
Références
- Norme C11 (ISO/CEI 9899:2011) :
-
- 7.29.4.4.2 La fonction wcscoll (p: 433-434)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 7.24.4.4.2 La fonction wcscoll (p: 379-380)
Voir aussi
|
compare deux chaînes en fonction des paramètres régionaux actuels
(fonction) |
|
|
(C95)
|
transforme une chaîne large pour que
wcscmp
produise le même résultat que
wcscoll
(fonction) |
|
(C95)
|
compare deux chaînes larges
(fonction) |
|
Documentation C++
pour
wcscoll
|
|