Partager via


_stricoll, _wcsicoll, _mbsicoll, _stricoll_l, _wcsicoll_l, _mbsicoll_l

Comparez des chaînes à l'aide de informations spécifiques aux paramètres régionaux.

Important

_mbsicoll et _mbsicoll_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans les fenêtres d'exécution.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 le caractère NULL à comparer.

  • locale
    Les paramètres régionaux à utiliser.

Valeur de retour

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

Valeur de retour

Relation de string1 à chaîne2

< 0

string1 moins qu' 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 contient du code à caractère élargi en dehors de le champ de la séquence assemblante.Lorsqu'une erreur se produit, _wcsicoll peut définir errno à EINVAL.Pour vérifier une erreur dans un appel à _wcsicoll, affectez errno à 0 puis vérifiez errno après avoir appelé _wcsicoll.

Notes

Chacune de ces fonctions effectue une comparaison ne respectant pas la casse d' string1 et d' string2 d'après la page de codes en cours de 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 d' _stricoll car la comparaison d' _stricmp est affectée par LC_CTYPE, alors que la comparaison d' _stricoll est en fonction de les catégories d' LC_CTYPE et d' LC_COLLATE des paramètres régionaux.Pour plus d'informations sur la catégorie d' LC_COLLATE, consultez setlocale et l' Catégories de paramètres régionaux.Les versions de ces fonctions sans suffixe d' _l utilisent les paramètres régionaux ; les versions avec le suffixe d' _l sont identiques sauf qu'elles utilisent les paramètres régionaux passés à la place.Pour plus d'informations, consultez Paramètres régionaux.

Toutes ces fonctions valident leurs paramètres.Si string1 ou string2 sont des pointeurs d' NULL, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, ces fonctions _NLSCMPERROR de retour et affectez errno à EINVAL.

Mappages de routines de texte générique

Routine de TCHAR.H

_UNICODE et non définis _MBCS

_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

<wchar.h>, <string.h>

_mbsicoll, _mbsicoll_l

<mbstring.h>

Pour des informations de compatibilité supplémentaires, consultez l' Compatibilité dans l'introduction.

Équivalent .NET Framework

System::String::Compare

Voir aussi

Référence

Paramètres régionaux

Manipulation de chaînes (CRT)

fonctions de strcoll

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