std:: strcoll
|
Défini dans l'en-tête
<cstring>
|
||
|
int
strcoll
(
const
char
*
lhs,
const
char
*
rhs
)
;
|
||
Compare deux chaînes d'octets terminées par un caractère nul selon les paramètres régionaux actuels tels que définis par la catégorie LC_COLLATE .
Table des matières |
Paramètres
| lhs, rhs | - | pointeurs vers les chaînes d'octets 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 aux paramètres régionaux peut s'appliquer aux caractères avec diacritiques. Dans certaines régions, 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 <clocale> #include <cstring> #include <iostream> int main() { std::setlocale(LC_COLLATE, "cs_CZ.utf8"); // Alternativement, ISO-8859-2 (alias Latin-2) // pourrait également fonctionner sur certains systèmes d'exploitation : // std::setlocale(LC_COLLATE, "cs_CZ.iso88592"); const char* s1 = "hrnec"; const char* s2 = "chrt"; std::cout << "Dans les paramètres régionaux tchèques : "; if (std::strcoll(s1, s2) < 0) std::cout << s1 << " avant " << s2 << '\n'; else std::cout << s2 << " avant " << s1 << '\n'; std::cout << "En comparaison lexicographique : "; if (std::strcmp(s1, s2) < 0) std::cout << s1 << " avant " << s2 << '\n'; else std::cout << s2 << " avant " << s1 << '\n'; }
Sortie :
In the Czech locale: hrnec before chrt In lexicographical comparison: chrt before hrnec
Voir aussi
|
compare deux chaînes larges selon la locale actuelle
(fonction) |
|
|
[virtual]
|
compare deux chaînes en utilisant les règles de collation de cette facette
(fonction membre protégée virtuelle de
std::collate<CharT>
)
|
transforme une chaîne de caractères pour que
strcmp
produise le même résultat que
strcoll
(fonction) |
|
|
Documentation C
pour
strcoll
|
|