Partager via


_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

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

Important

_mbsncoll and _mbsncoll_l ne peuvent pas être utilisés 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 _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 de retour

Chacune de ces fonctions retourne une valeur indiquant la relation entre les sous-chaînes de string1 et string2, comme suit.

Valeur de retour

Relation de chaîne1 à chaîne2

< 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 soitstring1 soit string2 contienne des codes de caractères larges en dehors du domaine de la séquence de classement. Lorsqu'une erreur se produit, _wcsncoll peut affecter errno à EINVAL. Pour vérifier une erreur lors d'un appel à _wcsncoll, affectez errno à 0 puis vérifiez errno après avoir appelé _wcsncoll.

Notes

Chacune de ces fonctions exécute une comparaison (respectant la casse) des premiers caractères count dans string1 et string2 selon la page de codes, qui est actuellement utilisée. 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 et que cette différence est intéressante 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 n'ont pas le suffixe _lutilisent les paramètres régionaux actuels, mais les versions, qui ont le suffixe _l utilisent les paramètres régionaux qui leur sont transmis. Pour plus d'informations, consultez Paramètres régionaux.

Toutes ces fonctions valident leurs paramètres. Si soit string1 soit 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.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_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

<string.h> ou <wchar.h>

_mbsncoll, _mbsncoll_l

<mbstring.h>

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