Partager via


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Compare les chaînes à l'aide d'informations spécifiques aux paramètres régionaux.

Important

_mbsicoll et _mbsicoll_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

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 de retour

Chacune de ces fonctions retourne une valeur indiquant la relation de string1 à string2*,* comme suit.

Valeur de retour

Relation de chaîne1 à chaîne2

< 0

string1 inférieure à string2

0

string1 identique à string2

> 0

string1 supérieur à string2

_NLSCMPERROR

Une erreur s'est produite.

Chacune de ces fonctions retourne _NLSCMPERROR. Pour utiliser _NLSCMPERROR, incluez STRING.H ou MBSTRING.H. _wcsicoll peut échouer si string1 ou string2 contiennent des codes de caractères larges en dehors de la séquence de classement. Lorsqu'une erreur se produit, _wcsicoll peut affecter errno à EINVAL. Pour vérifier une erreur lors d'un appel à _wcsicoll, affectez errno à 0 puis activez errno après l'appel de _wcsicoll.

Notes

Chacune de ces fonctions exécute une comparaison ne respectant pas la casse de string1 et string2 d'après la page de codes en cours d'utilisation. Ces fonctions 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 cette différence est intéressante pour la comparaison de chaînes.

_stricmp diffère de _stricoll car la comparaison de _stricmp est affectée par LC_CTYPE, tandis que la comparaison de _stricoll est en fonction des catégories LC_CTYPE et LC_COLLATE des paramètres régionaux. Pour plus d'informations sur la catégorie LC_COLLATE, consultez setlocale et Catégories de paramètres régionaux. Les versions de ces fonctions sans le suffixe _l utilisent les paramètres régionaux actuels; les versions avec le suffixe _l sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux passés. Pour plus d'informations, consultez Paramètres régionaux.

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

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tcsicoll

_stricoll

_mbsicoll

_wcsicoll

Configuration requise

Routine

En-tête requis

_stricoll, _stricoll_l

<string.h>

_wcsicoll, _wcsicoll_l

&lt;1wchar.h&gt;2, &lt;3string.h&gt;4

_mbsicoll, _mbsicoll_l

<mbstring.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

Équivalent .NET Framework

System::String::Compare

Voir aussi

Référence

Paramètres régionaux

Manipulation de chaînes (CRT)

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