strcoll, fonctions

Chacune des fonctions strcoll et wcscoll compare deux chaînes selon le paramètre de catégorie LC_COLLATE de la page de codes locale actuellement utilisée. Chacune des fonctions _mbscoll compare deux chaînes en fonction de la page de codes multioctets actuellement utilisée. Ces fonctions coll doivent être utilisées pour la comparison de chaines uniquement lorsqu'il existe une différence entre l'ordre du jeu de caractères et l'ordre lexicographiques dans la page de codes actuelle et que cette différence est intéressante pour la comparaison de chaînes. Utilisez les fonctions correspondantes cmp uniquement pour déterminer si les deux chaines sont les memes.

strcoll, fonctions

SBCS

Unicode

MBCS

Description

strcoll

wcscoll

_mbscoll

Assemble deux chaînes

_stricoll

_wcsicoll

_mbsicoll

Assemble deux chaînes (ne respecte pas la casse)

_strncoll

_wcsncoll

_mbsncoll

Compare les premiers caractères count de deux chaînes

_strnicoll

_wcsnicoll

_mbsnicoll

Compare les premiers caractères count de deux chaînes (ne respecte pas la casse)

Notes

Les versions avec caractère codé sur un octet de ces fonctions (fonctions SBCS)(strcoll, stricoll, _strncoll, et _strnicoll) et string1 et string2 selon les paramètre de catégorie locaux LC_COLLATE . Ces fonctions diffèrent des fonctions correspondantes strcmp car les fonctions strcoll utilisent les informations de page de codes locaux, qui fournissent des tables de classement. Pour les comparaisons de chaînes dans les environnements locaux dans lesquel l'ordre du jeu de caractères et l'ordre lexicographique des caractères diffèrent, les fonctions strcoll doivent être utilisé au lieu des fonctions correspondantes strcmp. Pour plus d'informations sur LC_COLLATE, consultez setlocale.

Pour certaines pages de codes ainsi que pour 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 », ce n'est pas le cas : l'ordre des caractères dans le jeu de caractères ASCII est le même que l'ordre 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 » lexicographiquement. Pour réaliser une comparaison dans l'ordre lexicographique dans une telle instance, utilisez strcoll plutôt que strcmp. Ou bien, vous pouvez utiliser strxfrm sur les chaînes d'origine, et ensuite strcmp sur les chaînes résultantes.

strcoll, stricoll, _strncoll, et _strnicoll gèrent automatiquement des chaînes de caractères multi-octets selon la page de codes des paramètres locaux en cours de utilisation, de même que les leurs équivalents en caractères étendus (Unicode). Les versions de caractères multi-octets de (MBCS) de ces fonctions, toutefois, assemblent des chaînes dans une base de caractère selon la page de codes multioctets actuellement utilisée.

Les fonctions coll assemblent les chaînes lexicographiquement pour la comparaison, tandis que les fonctions cmp testent simplement l'égalité de chaîne, ainsi les fonctions coll sont beaucoup plus lentes que les versions correspondantes cmp. Par conséquent, les fonctions coll doivent être utilisées uniquement 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 et que cette différence est intéressante 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