Partager via


_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

Compare des chaînes à l'aide de informations spécifiques aux paramètres régionaux.

Important

_mbsncoll et _mbsncoll_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

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 le caractère NULL à comparer.

  • count
    Le nombre de caractères à comparer.

  • locale
    Les paramètres régionaux à utiliser.

Valeur de retour

Chacune de ces fonctions retourne une valeur qui indique la relation des sous-chaînes d' string1 et d' string2, comme suit.

Valeur de retour

Relation de string1 à chaîne2

< 0

string1 est inférieur à string2.

0

string1 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 les codes à caractères larges qui sont en dehors de le champ de la séquence assemblante.Lorsqu'une erreur se produit, _wcsncoll peut définir errno à EINVAL.Pour vérifier une erreur dans un appel à _wcsncoll, affectez errno à 0 puis vérifiez errno après avoir appelé _wcsncoll.

Notes

Chacune de ces fonctions effectue une comparaison respectant la casse des premiers caractères d' count dans string1 et string2, d'après la page de codes qui est en cours de utilisation.Utilisez ces fonctions 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, et lorsque cette différence est intéressante pour la comparaison de chaînes.L'ordre du jeu de caractères est dépendant des paramètres régionaux.Les versions de ces fonctions qui n'ont pas l'utilisation de suffixe d' _l les paramètres régionaux, mais les versions qui ont l'utilisation de suffixe d' _l les paramètres régionaux passés dans.Pour plus d'informations, consultez Paramètres régionaux.

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

Mappages de routines de texte générique

Routine de TCHAR.H

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tcsnccoll

_strncoll

_mbsncoll

_wcsncoll

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

Configuration requise

Routine

En-tête requis

_strncoll, _strncoll_l

<string.h>

_wcsncoll, _wcsncoll_l

<wchar.h> ou <string.h>

_mbsncoll, _mbsncoll_l

<mbstring.h>

Pour des informations de compatibilité supplémentaires, consultez Compatibilité.

É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