Partager via


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Comparez des chaînes à l'aide de les paramètres régionaux ou une catégorie spécifiée du rapport de conversion de LC_CTYPE.

Important

_mbscoll et _mbscoll_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 strcoll(
   const char *string1,
   const char *string2 
);
int wcscoll(
   const wchar_t *string1,
   const wchar_t *string2 
);
int _mbscoll(
   const unsigned char *string1,
   const unsigned char *string2 
);
int _strcoll_l(
   const char *string1,
   const char *string2,
   _locale_t locale 
);
int wcscoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   _locale_t locale 
);
int _mbscoll_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
    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

Chacune de ces fonctions retourne _NLSCMPERROR sur une erreur.Pour utiliser _NLSCMPERROR, incluez STRING.H ou MBSTRING.H.wcscoll peut échouer si string1 ou string2 est NULL ou contient du code à caractère élargi en dehors de le champ de la séquence assemblante.Lorsqu'une erreur se produit, wcscoll peut définir errno à EINVAL.Pour vérifier une erreur dans un appel à wcscoll, affectez errno à 0 puis vérifiez errno après avoir appelé wcscoll.

Notes

Chacune de ces fonctions effectue une comparaison respectant 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.

Toutes ces fonctions valident leurs paramètres.Si string1 ou string2 est un pointeur null, ou si count est supérieur INT_MAX, 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.

La comparaison de deux chaînes est une opération dépendante des paramètres régionaux étant donné que chaque paramètre régional ont des règles différentes pour classer des caractères.Les versions de ces fonctions sans suffixe d' _l utilisent les paramètres régionaux du thread courant pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe d' _l sont identiques à la fonction correspondante sans suffixe mais qu'elles utilisent les paramètres régionaux passés comme paramètre au lieu des paramètres régionaux.Pour plus d'informations, consultez Paramètres régionaux.

Mappages de routines de texte générique

Routine de TCHAR.H

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tcscoll

strcoll

_mbscoll

wcscoll

Configuration requise

Routine

En-tête requis

strcoll

<string.h>

wcscoll

<wchar.h>, <string.h>

_mbscoll, _mbscoll_l

<mbstring.h>

_strcoll_l

<string.h>

_wcscoll_l

<wchar.h>, <string.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