_mbsnbcoll
, , _mbsnbcoll_l
_mbsnbicoll
, ,_mbsnbicoll_l
Compare n
octets de deux chaînes de caractères multioctets en utilisant 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 le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.
Syntaxe
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 retournée
La valeur de retour indique la relation des sous-chaînes de string1
et de string2
.
Valeur retournée | Description |
---|---|
< 0 | La sous-chaîne de string1 est inférieure à la sous-chaîne de string2 . |
0 | La sous-chaîne de string1 est identique à la sous-chaîne de string2 . |
> 0 | La sous-chaîne de string1 est supérieure à la sous-chaîne de string2 . |
Si string1
ou string2
est NULL
supérieur 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
. Pour utiliser _NLSCMPERROR
, incluez String.h ou Mbstring.h.
Notes
Chacune de ces fonctions assemble, au moins, les count
premiers caractères de string1
et de string2
, et retourne une valeur qui indique la relation entre les sous-chaînes résultantes de string1
et string2
. Si l’octet final dans la sous-chaîne ou est un octet de string1
string2
prospect, il n’est pas inclus dans la comparaison ; ces fonctions comparent uniquement les caractères complets dans les sous-chaînes. _mbsnbicoll
est une version de _mbsnbcoll
respectant la casse. Comme _mbsnbcmp
et _mbsnbicmp
, _mbsnbcoll
et _mbsnbicoll
assemblent les deux chaînes de caractères multioctets en fonction de l’ordre lexicographique spécifié par la page de codes multioctets en cours d’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 différer de l’ordre lexicographique des caractères. Dans les paramètres régionaux « C », l’ordre des caractères dans le jeu de caractères ASCII est identique à l’ordre lexicographique des caractères. Cependant, dans certaines pages de code européennes, par exemple, le caractère « a » (valeur 0x61) précède le caractère « ä » (valeur 0xE4) dans le jeu de caractères, alors que d’un point de vue lexicographique, le caractère « ä » précède le caractère « a ». Pour effectuer une comparaison lexicographique de chaînes par octets dans un cas comme celui-ci, utilisez _mbsnbcoll
plutôt que _mbsnbcmp
; pour vérifier uniquement l’égalité des chaînes, utilisez _mbsnbcmp
.
Étant donné que les fonctions coll
assemblent des chaînes de façon lexicographique en vue des comparer, alors que les fonctions cmp
testent simplement l’égalité des chaînes, les fonctions coll
sont beaucoup plus lentes que les versions cmp
correspondantes. Par conséquent, les coll
fonctions doivent être utilisées 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 actuelle et que cette différence est intéressante pour la comparaison.
La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE
des paramètres régionaux. Pour plus d’informations, consultez setlocale
. Les versions de ces fonctions sans le suffixe _l
utilisent les paramètres régionaux pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe _l
sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux transmis. Pour plus d’informations, consultez Locale.
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 |
---|---|---|---|
_tcsncoll |
_strncoll |
_mbsnbcoll |
_wcsncoll |
_tcsncoll_l |
_strncoll_l |
_mbsnbcoll_l |
_wcsncoll_l |
_tcsnicoll |
_strnicoll |
_mbsnbicoll |
_wcsnicoll |
_tcsnicoll_l |
_strnicoll_l |
_mbsnbicoll_l |
_wcsnicoll_l |
Spécifications
Routine | En-tête requis |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Manipulation de chaînes
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_mbsnbicmp
, _mbsnbicmp_l
strcoll
, fonctions
strncmp
, , wcsncmp
_mbsncmp
, ,_mbsncmp_l
_strnicmp
, , _wcsnicmp
, _strnicmp_l
_mbsnicmp
, , _wcsnicmp_l
_mbsnicmp_l