_mbsnbcmp, _mbsnbcmp_l
Confronta il primo byte di n di due stringhe di caratteri multibyte.
Importante |
---|
Questa API non può essere utilizzato nelle applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /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
);
Parametri
string1, string2
Le stringhe da confrontare.count
Numero di byte da confrontare.locale
Le impostazioni locali da utilizzare.
Valore restituito
Il valore restituito indica la relazione tra le sottostringhe di string1 e string.
Valore restituito |
Descrizione |
---|---|
< 0 |
la sottostringa distring1 è minore della sottostringa di string2. |
0 |
la sottostringa distring1 è identica alla sottostringa di string2. |
> 0 |
la sottostringa distring1 è maggiore della sottostringa di string2. |
Su un errore, _mbsnbcmp restituisce _NLSCMPERROR, definito in String.h e in Mbstring.h.
Note
La funzione di _mbsnbcmp lessicografico confronta, al massimo, il primo byte di count in string1 e in string2 e restituisce un valore che indica la relazione tra le sottostringhe._mbsnbcmp è una versione con distinzione tra maiuscole e minuscole di _mbsnbicmp.A differenza di strcoll, _mbsnbcmp non è interessato dalle impostazioni locali._mbsnbcmp riconosce le sequenze di caratteri multibyte come tabella codicimultibyte corrente.
_mbsnbcmp assomiglia a _mbsncmp, ma _mbsncmp confronto di stringhe da caratteri anziché dai byte.
Il valore di output è interessato dall'impostazione di categoria di LC_CTYPE delle impostazioni locali; vedere setlocale per ulteriori informazioni.La versione della funzione senza il suffisso di _l utilizza le impostazioni locali correnti per questo comportamento dipendente dalle impostazioni locali; la versione con il suffisso di _l è identica con la differenza che utilizza il parametro delle impostazioni locali passato.Per ulteriori informazioni, vedere Impostazioni locali.
Se string1 o string2 è un puntatore null, questa funzione richiamerà il gestore di parametro non valido, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, la funzione restituisce _NLSCMPERROR e errno è impostato su EINVAL.
Mapping di routine a Testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsncmp |
_mbsnbcmp |
||
_tcsncmp_l |
_mbsnbcml |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_mbsnbcmp |
<mbstring.h> |
_mbsnbcmp_l |
<mbstring.h> |
Per ulteriori informazioni di compatibilità, vedere Compatibilità.
Esempio
// 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 );
}
Output
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
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.
Vedere anche
Riferimenti
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l