_mbsnbcmp, _mbsnbcmp_l
Compare les premiers octets d' n 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 Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.
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
Les chaînes à comparer.count
Le nombre d'octets à comparer.locale
Les paramètres régionaux à utiliser.
Valeur de retour
La valeur de retour indique la relation entre les sous-chaînes d' string1 et string.
Valeur de retour |
Description |
---|---|
< 0 |
la sous-chaîne d'string1 est moins que la sous-chaîne d' string2 . |
0 |
la sous-chaîne d'string1 identique à la sous-chaîne d' string2 . |
> 0 |
la sous-chaîne d'string1 est supérieure à la sous-chaîne d' string2 . |
Sur une erreur, _mbsnbcmp retourne _NLSCMPERROR, qui est définie dans String.h et Mbstring.h.
Notes
La fonction d' _mbsnbcmp compare lexicographique, au plus, les premiers octets d' count dans string1 et string2 et retourne une valeur qui indique la relation entre les sous-chaînes._mbsnbcmp est une version non sensible à la casse d' _mbsnbicmp.Contrairement à strcoll, _mbsnbcmp n'est pas affecté par les paramètres régionaux._mbsnbcmp identifie les séquences de caractères multioctets en fonction de page de codesmultioctets actuel.
_mbsnbcmp ressemble à _mbsncmp, sauf qu' _mbsncmp compare des chaînes par des caractères plutôt que par les octets.
La valeur de sortie est affectée par la définition de catégorie d' LC_CTYPE des paramètres régionaux ; consultez l' setlocale pour plus d'informations.La version de cette fonction qui n'a pas le suffixe d' _l utilise les paramètres régionaux définis pour ce comportement dépendant des paramètres régionaux ; la version qui a le suffixe d' _l est identique à la différence qu'elle utilise le paramètre de paramètres régionaux qui est passé à la place.Pour plus d'informations, consultez Paramètres régionaux.
Si string1 ou string2 est un pointeur null, cette fonction appelle le gestionnaire de paramètre non valide, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, la fonction retourne _NLSCMPERROR et errno a la valeur EINVAL.
Mappages de routines de texte générique
Routine de Tchar.h |
_UNICODE et non définis _MBCS |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Configuration requise
Routine |
En-tête requis |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Pour plus d'informations de compatibilité, consultez Compatibilité.
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
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.
Voir aussi
Référence
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l