fonctionsstrcoll
Chacune des fonctions strcoll
et wcscoll
compare deux chaînes en fonction du paramètre de catégorie LC_COLLATE
de la page de codes des paramètres régionaux en cours d’utilisation. Chacune des fonctions _mbscoll
compare deux chaînes en fonction de la page de codes multioctets en cours d’utilisation. Utilisez les coll
fonctions pour les comparaisons de chaînes lorsqu’il existe une différence entre l’ordre du jeu de caractères et l’ordre des caractères lexicographiques dans la page de codes actuelle si la différence est intéressante pour la comparaison. Utilisez les fonctions cmp
correspondantes pour tester uniquement pour l’égalité des chaînes.
strcoll, fonctions
SBCS | Unicode | MBCS | Description |
---|---|---|---|
strcoll |
wcscoll |
_mbscoll |
Assembler deux chaînes |
_stricoll |
_wcsicoll |
_mbsicoll |
Assembler deux chaînes (sensible à la casse) |
_strncoll |
_wcsncoll |
_mbsncoll |
Assembler les premiers caractères count de deux chaînes |
_strnicoll |
_wcsnicoll |
_mbsnicoll |
Assembler les premiers caractères count de deux chaînes (qui ne respectent pas la casse) |
Notes
Les versions jeu de caractères codés sur un octet (SBCS) de ces fonctions (strcoll
, stricoll
, _strncoll
et _strnicoll
) comparent string1
et string2
conformément au paramètre de catégorie LC_COLLATE
des paramètres régionaux actuels. Ces fonctions diffèrent des fonctions strcmp
correspondantes en cela que les fonctions strcoll
utilisent les informations de page de code de paramètres régionaux qui fournissent des séquences de classement. Pour les comparaisons de chaînes dans les paramètres régionaux dans lesquelles l’ordre du jeu de caractères et celui de l’ordre lexicographique des caractères diffèrent, les fonctions strcoll
doivent être utilisées à la place des fonctions strcmp
correspondantes. Pour plus d’informations sur LC_COLLATE
, consultez setlocale
.
Pour certaines pages de codes et les jeux de caractères correspondants, l’ordre des caractères dans le jeu de caractères peut différer de l’ordre lexicographique des caractères. Dans les paramètres régionaux « C », il n’est pas le cas : l’ordre des caractères dans le jeu de caractères ASCII est identique à l’ordre lexicographique des caractères. Cependant, dans certaines pages de code européennes, par exemple, le caractère « a » (valeur 0x61) précède le caractère « ä » (valeur 0xE4) dans le jeu de caractères, alors que d’un point de vue lexicographique, le caractère « ä » précède le caractère « a ». Pour effectuer une comparaison lexicographique dans un cas comme celui-ci, utilisez strcoll
plutôt que strcmp
. Vous pouvez aussi utiliser strxfrm
sur les chaînes d'origine, puis utiliser strcmp
sur les chaînes résultantes.
strcoll
, stricoll
, _strncoll
et _strnicoll
gèrent automatiquement les chaînes de caractères multioctets en fonction de la page de codes des paramètres régionaux en cours d’utilisation, comme le font leurs équivalents à caractères larges (Unicode). Les versions de jeu de caractères multioctets (MBCS) de ces fonctions cependant, assemblent les chaînes caractère par caractère en fonction de la page de codes multioctets en cours d’utilisation.
Étant donné que les fonctions coll
assemblent des chaînes de façon lexicographique en vue des comparer, alors que les fonctions cmp
testent simplement l’égalité des chaînes, les fonctions coll
sont beaucoup plus lentes que les versions cmp
correspondantes. Par conséquent, les coll
fonctions doivent être utilisées uniquement lorsqu’il existe une différence entre l’ordre de jeu de caractères et l’ordre de caractère lexicographique dans la page de codes actuelle et que cette différence est intéressante pour la comparaison de chaînes.
Voir aussi
Paramètres régionaux
Manipulation de chaînes
localeconv
_mbsnbcoll
, , _mbsnbcoll_l
_mbsnbicoll
, ,_mbsnbicoll_l
setlocale
, _wsetlocale
strcmp
, , wcscmp
_mbscmp
strncmp
, , wcsncmp
_mbsncmp
, ,_mbsncmp_l
_strnicmp
, , _wcsnicmp
, _strnicmp_l
_mbsnicmp
, , _wcsnicmp_l
_mbsnicmp_l
strxfrm
, , wcsxfrm
_strxfrm_l
, ,_wcsxfrm_l