Partager via


_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Compare des octets d' n de deux chaînes de caractères multioctets à l'aide de les informations de la page de codes multioctets.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans les fenêtres d'exécution.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

int _mbsnbcoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbcoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);
int _mbsnbicoll(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count 
);
int _mbsnbicoll_l(
   const unsigned char *string1,
   const unsigned char *string2,
   size_t count,
   _locale_t locale
);

Paramètres

  • string1, string2
    Chaînes à comparer.

  • count
    Nombre d'octets à comparer.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

La valeur de retour indique la relation des sous-chaînes d' string1 et d' string2.

Valeur de retour

Description

< 0

sous-chaîne d'string1 moins que la sous-chaîne d' string2 .

0

sous-chaîne d'string1 identique à la sous-chaîne d' string2 .

> 0

sous-chaîne d'string1 supérieure à la sous-chaîne d' string2 .

Si string1 ou string2 est 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.Pour utiliser _NLSCMPERROR, incluez String.h ou Mbstring.h.

Notes

Chacune de ces fonctions assemble, au plus, les premiers octets d' count dans string1 et string2 et retourne une valeur qui indique la relation entre les sous-chaînes résultant d' string1 et string2.Si l'octet final dans la sous-chaîne d' string1 ou d' string2 est un octet de tête, il n'est pas inclus dans la comparaison ; ces fonctions sont susceptibles de comparer uniquement les caractères complets dans les sous-chaînes._mbsnbicoll est une version non sensible à la casse d' _mbsnbcoll.Comme _mbsnbcmp et _mbsnbicmp, _mbsnbcoll et _mbsnbicoll assemblent les deux chaînes de caractères multioctets fonction de l'ordre lexicographique spécifiée par page de codes multioctets en cours de utilisation.

Pour certaines pages de codes et les jeux de caractères correspondants, l'ordre des caractères dans le jeu de caractères peut être différent de l'ordre des caractères lexicographiques.Dans les paramètres régionaux « C », ce n'est pas le cas : l'ordre des caractères dans le jeu de caractères ASCII est identique à la commande lexicographique des caractères.Toutefois, dans certaines pages de codes européennes, par exemple, le caractère « a » (valeur 0x61) précède le caractère « ä » (valeur 0xE4) dans le jeu de caractères, mais le caractère « ä » précède le caractère « a » lexicographique.Pour effectuer une comparaison lexicographique des chaînes par les octets dans une telle instance, utilisez _mbsnbcoll plutôt qu' _mbsnbcmp; pour vérifier que l'égalité de chaîne, utilisez _mbsnbcmp.

Étant donné que les fonctions d' coll assemblent les chaînes lexicographique pour la comparaison, alors qu' cmp fonctionne seulement le test d'égalité de chaîne, les fonctions d' coll sont beaucoup plus lentes que les versions correspondantes de cmp .Par conséquent, les fonctions d' coll 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 actuelle et cette différence est intéressante pour la comparaison.

La valeur de sortie est affectée par la configuration de la définition de catégorie d' LC_CTYPE des paramètres régionaux ; consultez l' setlocale pour plus d'informations.Les versions de ces fonctions sans suffixe d' _l utilisent les paramètres régionaux définis pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe d' _l sont identiques sauf qu'elles utilisent le paramètre de paramètres régionaux passé à la place.Pour plus d'informations, consultez Paramètres régionaux.

Mappages de routines de texte générique

Routine de Tchar.h

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tcsncoll

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_l

Configuration requise

Routine

En-tête requis

_mbsnbcoll

<mbstring.h>

_mbsnbcoll_l

<mbstring.h>

_mbsnbicoll

<mbstring.h>

_mbsnbicoll_l

<mbstring.h>

Pour plus d'informations de compatibilité, consultez l' Compatibilité dans l'introduction.

Voir aussi

Référence

Manipulation de chaînes (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

fonctions de strcoll

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l