_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 |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_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
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l