Partager via


strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l

Compare des chaînes en utilisant les paramètres régionaux actuels ou une catégorie spécifiée d'état de conversion LC_COLLATE.

Important

_mbscoll et _mbscoll_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 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 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

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 sont NULL ou contiennent des codes de caractères larges en dehors de la séquence de classement. Lorsqu'une erreur se produit, wcscoll peut affecter errno à EINVAL. Pour vérifier une erreur lors d'un appel à wcscoll, affectez errno à 0 puis vérifiez errno après l'appel de wcscoll.

Notes

Chacune de ces fonctions exécute une comparaison tenant compte des majuscules et des minuscules 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 que 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 de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent _NLSCMPERROR et définissent errno avec la valeur EINVAL.

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

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tcscoll

strcoll

_mbscoll

wcscoll

Configuration requise

Routine

En-tête requis

strcoll

<string.h>

wcscoll

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

_mbscoll, _mbscoll_l

<mbstring.h>

_strcoll_l

<string.h>

_wcscoll_l

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

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