strcoll, fonctions

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

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

SBCSUnicodeMBCSDescription
strcollwcscoll_mbscollAssemble deux chaînes
_stricoll_wcsicoll_mbsicollAssemble deux chaînes (ne respecte pas la casse)
_strncoll_wcsncoll_mbsncollCompare les premiers caractères count de deux chaînes
_strnicoll_wcsnicoll_mbsnicollCompare les premiers caractères count de deux chaînes (ne respecte pas la casse)

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.

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, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l

Afficher: