_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Compare les chaînes à partir des informations propres aux paramètres régionaux.

Important

_mbsicoll et _mbsicoll_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.

Syntaxe

int _stricoll(
   const char *string1,
   const char *string2
);
int _wcsicoll(
   const wchar_t *string1,
   const wchar_t *string2
);
int _mbsicoll(
   const unsigned char *string1,
   const unsigned char *string2
);
int _stricoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale
);
int _wcsicoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale
);
int _mbsicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   _locale_t locale
);

Paramètres

string1, string2
Chaîne terminée par Null à comparer.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Chacune de ces fonctions retourne une valeur indiquant la relation à string1string2, comme suit.

Valeur retournée Relation de string1 à string2
< 0 string1 inférieure à string2
0 string1 identique à string2
> 0 string1 supérieur à string2
_NLSCMPERROR Une erreur est survenue.

Chacune de ces fonctions retourne _NLSCMPERROR. Pour utiliser _NLSCMPERROR, incluez <string.h> ou <mbstring.h>. _wcsicoll peut échouer si string1 ou string2 contient des codes à caractères larges qui se trouvent en dehors du domaine de l’ordre de tri. Quand une erreur se produit, _wcsicoll peut attribuer à errno la valeur EINVAL. Pour rechercher la présence d’une erreur dans un appel à _wcsicoll, affectez à errno la valeur 0, puis vérifiez errno après avoir appelé _wcsicoll.

Notes

Chacune de ces fonctions effectue une comparaison sensible à la casse de string1 et string2 en fonction de la page de codes en cours d’utilisation. Ces fonctions ne doivent être utilisées que lorsqu’il existe une différence entre l’ordre du jeu de caractères et l’ordre du caractère lexicographique dans la page de codes actuelle et que cette différence est intéressante pour la comparaison de chaînes.

_stricmp se distingue de _stricoll dans le sens où la comparaison _stricmp est affectée par LC_CTYPE, tandis que la comparaison _stricoll dépend des catégories LC_CTYPE et LC_COLLATE des paramètres régionaux. Pour plus d’informations sur la LC_COLLATE catégorie, voir setlocale et les catégories de paramètres régionaux. Les versions de ces fonctions sans suffixe _l utilisent les paramètres régionaux actifs ; les versions avec suffixe _l sont identiques, sauf qu’elles utilisent à la place les paramètres régionaux transmis. Pour plus d’informations, consultez Locale.

Toutes ces fonctions valident leurs paramètres. string1 Si des pointeurs ou string2 sont NULL des pointeurs, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent _NLSCMPERROR et définissent errno avec la valeur EINVAL.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routine de texte générique

Routine TCHAR.H _UNICODE et _MBCS non défini _MBCS Défini _UNICODE Défini
_tcsicoll _stricoll _mbsicoll _wcsicoll

Spécifications

Routine En-tête requis
_stricoll, _stricoll_l <string.h>
_wcsicoll, _wcsicoll_l <wchar.h>, <string.h>
_mbsicoll, _mbsicoll_l <mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Voir aussi

Paramètres régionaux
Manipulation de chaîne
strcoll, fonctions
localeconv
_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
setlocale, _wsetlocale
strcmp, wcscmp, _mbscmp
_stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l