_mbsnbcmp
, _mbsnbcmp_l
Compare les n premiers octets de deux chaînes de caractères 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 _mbsnbcmp(
const unsigned char *string1,
const unsigned char *string2,
size_t count
);
int _mbsnbcmp_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 ordinale entre les 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 . |
Lors d’une erreur de validation de paramètre et _mbsnbcmp
_mbsnbcmp_l
de retour _NLSCMPERROR
, qui est définie dans <string.h> et <mbstring.h>.
Notes
Les fonctions _mbsnbcmp
comparent au plus les count
premiers octets de string1
et de string2
, et retournent une valeur qui indique la relation entre les sous-chaînes. _mbsnbcmp
est une version respectant la casse de _mbsnbicmp
. Contrairement _mbsnbcoll
à , _mbsnbcmp
n’est pas affecté par l’ordre de classement des paramètres régionaux. _mbsnbcmp
reconnaît les séquences de caractères multioctets en fonction de la page de codes multioctet active.
_mbsnbcmp
ressemble à _mbsncmp
, sauf que _mbsncmp
compare des chaînes de caractères et non pas des octets.
La valeur de sortie est affectée par le paramètre de catégorie LC_CTYPE
des paramètres régionaux, qui spécifie les octets de début et de fin des caractères multioctets. Pour plus d’informations, consultez setlocale
. La fonction _mbsnbcmp
utilise les paramètres régionaux actuels pour ce comportement dépendant des paramètres régionaux. La fonction _mbsnbcmp_l
est identique, sauf qu'elle utilise à la place le paramètre locale
. Pour plus d’informations, consultez Locale.
Si l’un string1
ou string2
l’autre est un pointeur Null, ces fonctions appellent le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à continuer, les fonctions retournent _NLSCMPERROR
et errno
sont définies sur EINVAL
.
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 routine de texte générique
Routine Tchar.h | _UNICODE et _MBCS non défini |
_MBCS Défini |
_UNICODE Défini |
---|---|---|---|
_tcsncmp |
strncmp |
_mbsnbcmp |
wcsncmp |
_tcsncmp_l |
strncmp |
_mbsnbcml |
wcsncmp |
Spécifications
Routine | En-tête requis |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_mbsnbcmp.c
#include <mbstring.h>
#include <stdio.h>
char string1[] = "The quick brown dog jumps over the lazy fox";
char string2[] = "The QUICK brown fox jumps over the lazy dog";
int main( void )
{
char tmp[20];
int result;
printf( "Compare strings:\n %s\n", string1 );
printf( " %s\n\n", string2 );
printf( "Function: _mbsnbcmp (first 10 characters only)\n" );
result = _mbsncmp( string1, string2 , 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
printf( "Function: _mbsnicmp _mbsnicmp (first 10 characters only)\n" );
result = _mbsnicmp( string1, string2, 10 );
if( result > 0 )
_mbscpy_s( tmp, sizeof(tmp), "greater than" );
else if( result < 0 )
_mbscpy_s( tmp, sizeof(tmp), "less than" );
else
_mbscpy_s( tmp, sizeof(tmp), "equal to" );
printf( "Result: String 1 is %s string 2\n\n", tmp );
}
Sortie
Compare strings:
The quick brown dog jumps over the lazy fox
The QUICK brown fox jumps over the lazy dog
Function: _mbsnbcmp (first 10 characters only)
Result: String 1 is greater than string 2
Function: _mbsnicmp _mbsnicmp (first 10 characters only)
Result: String 1 is equal to string 2
Voir aussi
Manipulation de chaîne
_mbsnbcat
, _mbsnbcat_l
_mbsnbicmp
, _mbsnbicmp_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
Paramètres régionaux
Interprétation des séquences de caractères multioctets
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour