strcoll
, , wcscoll
, _strcoll_l
_mbscoll
, , _wcscoll_l
_mbscoll_l
Compare les chaînes à l’aide des paramètres régionaux actuels ou d’une catégorie d’état de conversion spécifiée LC_COLLATE
.
Important
_mbscoll
et _mbscoll_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 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 retournée
Chacune de ces fonctions retourne une valeur indiquant la relation à string1
string2
, comme suit.
Valeur retournée | Relation de string1 à string2 |
---|---|
< 0 | string1 inférieure à string2 |
0 | string1 identique à string2 |
> 0 | string1 supérieur à string2 |
Chacune de ces fonctions retourne _NLSCMPERROR
en cas d’erreur. Pour utiliser _NLSCMPERROR
, incluez STRING.H ou MBSTRING.H. wcscoll
peut échouer si l’un string1
ou string2
l’autre contient NULL
des codes à caractères larges en dehors du domaine de la séquence de classement. Quand une erreur se produit, wcscoll
peut attribuer à errno
la valeur EINVAL
. Pour rechercher la présence d’une erreur dans un appel à wcscoll
, affectez à errno
la valeur 0, puis vérifiez errno
après avoir appelé wcscoll
.
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.
Toutes ces fonctions valident leurs paramètres. Si l’un string1
ou string2
l’autre est un pointeur Null, ou s’il count
est supérieur INT_MAX
à , 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
.
La comparaison des deux chaînes est une opération dépendante des paramètres régionaux dans la mesure où les différents paramètres régionaux ont des règles de classement de caractères qui leur sont propres. Les versions de ces fonctions sans suffixe _l
utilisent les paramètres régionaux du thread actif pour ce comportement dépendant des paramètres régionaux ; les versions avec suffixe _l
sont identiques à la fonction correspondante sans suffixe, sauf qu’elles utilisent les paramètres régionaux transmis comme paramètre à la place des paramètres régionaux actifs. Pour plus d’informations, consultez Locale.
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 routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcscoll |
strcoll |
_mbscoll |
wcscoll |
Spécifications
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 plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Paramètres régionaux
Manipulation de chaînes
strcoll
, fonctions
localeconv
_mbsnbcoll
, , _mbsnbcoll_l
_mbsnbicoll
, ,_mbsnbicoll_l
setlocale
, _wsetlocale
strcmp
, , wcscmp
_mbscmp
_stricmp
, , _wcsicmp
, _stricmp_l
_mbsicmp
, , _wcsicmp_l
_mbsicmp_l
strncmp
, , wcsncmp
_mbsncmp
, ,_mbsncmp_l
_strnicmp
, , _wcsnicmp
, _strnicmp_l
_mbsnicmp
, , _wcsnicmp_l
_mbsnicmp_l
strxfrm
, , wcsxfrm
_strxfrm_l
, ,_wcsxfrm_l