Partager via


fonctions de strcoll

Chacune des fonctions d' strcoll et d' wcscoll compare deux chaînes en fonction de le paramètre de catégorie d' LC_COLLATE de la page de codes des paramètres régionaux en cours de utilisation.Chacune des fonctions d' _mbscoll compare deux chaînes en fonction de la page de codes multioctets en cours de utilisation.Utilisez les fonctions d' coll pour les comparaisons de chaînes lorsqu'il existe une différence entre l'ordre de jeu de caractères et l'ordre des caractères lexicographiques dans la page de codes actuelle et cette différence présente un intérêt pour la comparaison.Utilisez les fonctions correspondantes d' cmp pour déterminer uniquement l'égalité de chaînes.

fonctions de strcoll

SBCS

Unicode

MBCS

Description

strcoll

wcscoll

_mbscoll

Grâce à deux chaînes

_stricoll

_wcsicoll

_mbsicoll

Grâce à deux chaînes (respectant la casse)

_strncoll

_wcsncoll

_mbsncoll

Grâce à les premiers caractères d' count de deux chaînes

_strnicoll

_wcsnicoll

_mbsnicoll

Grâce à les premiers caractères d' count de deux chaînes (respectant la casse)

Notes

Les versions (SBCS) de caractère codé sur un octet de ces fonctions (strcoll, stricoll, _strncoll, et _strnicoll) sont comparés string1 et string2 fonction de le paramètre de catégorie d' LC_COLLATE des paramètres régionaux.Ces fonctions diffèrent des fonctions correspondantes d' strcmp parce que les fonctions d' strcoll utilisent les informations de la page de codes des paramètres régionaux qui fournissent assembler des séquences.Pour les comparaisons de chaînes dans les paramètres régionaux dans lesquels l'ordre du jeu de caractères et l'ordre des caractères lexicographiques diffèrent, les fonctions d' strcoll doivent être utilisées plutôt que les fonctions correspondantes d' strcmp .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 des caractères lexicographiques.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 le même que celui lexicographique des caractères.Toutefois, dans certaines pages de codes européennes, par exemple, le caractère « a » (valeur 0x61) précède le caractère « ä » (valeur 0xE4) dans le jeu de caractères, mais le caractère « ä » précède le caractère « a » lexicographique.Pour effectuer une comparaison lexicographique dans une telle instance, utilisez strcoll plutôt qu' strcmp.Ou bien, vous pouvez utiliser strxfrm sur les chaînes d'origine, puis utilisez strcmp sur les chaînes résultantes.

strcoll, stricoll, _strncoll, et _strnicoll gèrent automatiquement des chaînes à caractères multioctets d'après la page de codes des paramètres régionaux en cours de utilisation, comme le font leurs équivalents à caractères larges (Unicode).Les versions (MBCS) à caractères multioctets de ces fonctions, toutefois, assemblent les chaînes sur une base de caractères d'après la page de codes multioctets en cours de utilisation.

Comme les fonctions d' coll assemblent les chaînes lexicographique pour la comparaison, tandis que d' cmp de fonctions le test uniquement à l'égalité de chaînes, les fonctions d' coll sont beaucoup plus lent que les versions correspondantes d' cmp .Par conséquent, les fonctions d' coll doivent être utilisées uniquement lorsqu'il existe une différence entre l'ordre de jeu de caractères et l'ordre des caractères lexicographiques dans la page de codes actuelle et cette différence présente un intérêt pour la comparaison de chaînes.

Voir aussi

Référence

Paramètres régionaux

Manipulation de chaînes (CRT)

localeconv

_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

setlocale, _wsetlocale

strcmp, wcscmp, _mbscmp

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l