Share via


_strnicoll, _wcsnicoll, _mbsnicoll, _strnicoll_l, _wcsnicoll_l, _mbsnicoll_l

Compare les chaînes à partir des informations propres aux paramètres régionaux.

Important

_mbsnicoll et _mbsnicoll_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 _strnicoll(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsnicoll(
   const wchar_t *string1,
   const wchar_t *string2 ,
   size_t count
);
int _mbsnicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strnicoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsnicoll_l(
   const wchar_t *string1,
   const wchar_t *string2 ,
   size_t count,
   _locale_t locale
);
int _mbsnicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Paramètres

string1, string2
Chaînes se terminant par un caractères Null à comparer.

count
Nombre de caractères à comparer.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Chacune de ces fonctions retourne une valeur indiquant la relation des sous-chaînes et string1string2, comme suit.

Valeur retournée 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. Pour utiliser _NLSCMPERROR, incluez STRING.H ou MBSTRING.H. _wcsnicoll peut échouer si string1 ou string2 contient des codes à caractères larges qui se trouvent en dehors du domaine de l’ordre de tri. Quand une erreur se produit, _wcsnicoll peut attribuer à errno la valeur EINVAL. Pour rechercher la présence d’une erreur dans un appel à _wcsnicoll, affectez à errno la valeur 0, puis vérifiez errno après avoir appelé _wcsnicoll.

Notes

Chacune de ces fonctions effectue une comparaison sensible à la casse des count premiers caractères de string1 et string2, en fonction de la page de codes. Ces fonctions ne doivent être utilisées que lorsqu’il existe une différence entre l’ordre de jeu de caractères et l’ordre des caractères lexicographiques dans la page de codes et que cette différence est intéressante pour la comparaison de chaînes. Les versions de ces fonctions sans suffixe _l utilisent les paramètres régionaux actifs et la page de codes. Les versions avec le _l suffixe sont identiques, sauf qu’elles utilisent les paramètres régionaux passés à la place. Pour plus d’informations, consultez Locale.

Toutes ces fonctions valident leurs paramètres. Si l’un string1 ou string2 l’autre est un pointeur Null, ou si le nombre 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.

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 routine de texte générique

Routine TCHAR.H _UNICODE et _MBCS non défini _MBCS Défini _UNICODE Défini
_tcsncicoll _strnicoll _mbsnbicoll _wcsnicoll
_tcsnicoll _strnicoll _mbsnbicoll _wcsnicoll
_tcsnicoll_l _strnicoll_l _mbsnbicoll_l _wcsnicoll_l

Spécifications

Routine En-tête requis
_strnicoll, _strnicoll_l <string.h>
_wcsnicoll, _wcsnicoll_l <wchar.h> ou <string.h>
_mbsnicoll, _mbsnicoll_l <mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Voir aussi

Paramètres régionaux
Manipulation de chaîne
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