Partager via


_strncoll, , _wcsncoll, _strncoll_l_mbsncoll, , _wcsncoll_l_mbsncoll_l

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

Important

_mbsncoll et _mbsncoll_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 _strncoll(
   const char *string1,
   const char *string2,
   size_t count
);
int _wcsncoll(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count
);
int _mbsncoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count
);
int _strncoll_l(
   const char *string1,
   const char *string2,
   size_t count,
   _locale_t locale
);
int _wcsncoll_l(
   const wchar_t *string1,
   const wchar_t *string2,
   size_t count,
   _locale_t locale
);
int _mbsncoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Paramètres

string1, string2
Chaîne terminée par Null à comparer.

count
Nombre de caractères à comparer.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Chacune de ces fonctions retourne une valeur qui indique la relation entre les sous-chaînes de string1 et string2, comme ci-dessous.

Valeur retournée Relation de string1 à string2
< 0 string1 est inférieur à string2.
0 string1 est identique à string2.
> 0 string1 est supérieur à string2.

Chacune de ces fonctions retourne _NLSCMPERROR. Pour utiliser _NLSCMPERROR, incluez STRING.h ou MBSTRING.h. _wcsncoll peut échouer si string1 ou string2 contient des codes à caractères larges qui se trouvent hors du domaine de l'ordre de tri. Quand une erreur se produit, _wcsncoll peut attribuer à errno la valeur EINVAL. Pour rechercher une erreur sur un appel _wcsncoll, définissez errno la valeur 0, puis vérifiez errno après l’appel _wcsncoll .

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 en cours d'utilisation. Utilisez ces fonctions uniquement lorsqu’il existe une différence entre l’ordre de jeu de caractères et l’ordre de caractère lexicographique dans la page de codes, et quand cette différence est importante pour la comparaison de chaînes. L'ordre du jeu de caractères dépend des paramètres régionaux. Les versions de ces fonctions qui sont dépourvues du suffixe _l utilisent les paramètres régionaux actifs, mais celles qui possèdent le suffixe _l utilisent les paramètres régionaux qui sont passés. 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 count 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 routines de texte générique

Routine TCHAR.H _UNICODE et _MBCS non définis _MBCS défini _UNICODE défini
_tcsnccoll _strncoll _mbsncoll _wcsncoll
_tcsncoll _strncoll _mbsnbcoll _wcsncoll

Spécifications

Routine En-tête requis
_strncoll, _strncoll_l <string.h>
_wcsncoll, _wcsncoll_l <wchar.h> ou <string.h>
_mbsncoll, _mbsncoll_l <mbstring.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