_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l
Confronta i byte di n di due stringhe di caratteri multibyte utilizzando le informazioni della tabella codici multibyte.
Importante |
---|
Questa API non può essere utilizzata nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /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
);
Parametri
string1, string2
Stringhe da confrontare.count
Numero di byte da confrontare.locale
Impostazioni locali da utilizzare.
Valore restituito
Il valore restituito indica la relazione delle sottostringhe di string1 e di string2.
Valore restituito |
Descrizione |
---|---|
< 0 |
sottostringa distring1 minore di sottostringa di string2. |
0 |
sottostringa distring1 identica alla sottostringa di string2. |
> 0 |
sottostringa distring1 maggiore della sottostringa di string2. |
Se string1 o string2 è NULL o count è maggiore di INT_MAX, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se all'esecuzione è permesso continuare, queste funzioni restituiscono _NLSCMPERROR e impostano errno a EINVAL.Per utilizzare _NLSCMPERROR, includere String.h o Mbstring.h.
Note
Ognuna di queste funzioni vengono confrontate, al massimo, il primo byte di count in string1 e in string2 e restituisce un valore che indica la relazione tra le sottostringhe risultanti di string1 e string2.Se il byte finale nella sottostringa di string1 o di string2 è un byte iniziale, non è incluso nel confronto, queste funzioni vengono confrontati solo caratteri completare le sottostringhe._mbsnbicoll è una versione senza distinzione tra maiuscole e minuscole di _mbsnbcoll.Come _mbsnbcmp e _mbsnbicmp, _mbsnbcoll e _mbsnbicoll confrontare le due stringhe di caratteri multibyte secondo l'ordine specificato lessicografico attualmente da tabella codici multibyte in uso.
Per alcune tabelle codici e set di caratteri corrispondenti, l'ordine di caratteri nel set di caratteri potrebbe differire dall'ordine dei caratteri lessicografico.Nelle impostazioni locali "c", questo non avviene: l'ordine dei caratteri nel set di caratteri ASCII è identico all'ordine lessicografico di caratteri.Tuttavia, in alcune tabelle codici europee, ad esempio, il carattere "a" (valore 0x61) precede il carattere "ä" (valore 0xE4) nel set di caratteri, ma il carattere "ä" precede il carattere "a" lessicografico.Per eseguire un confronto lessicografico di stringhe dai byte in tale istanza, utilizzare _mbsnbcoll anziché _mbsnbcmp; per controllare solo per verificare l'uguaglianza della stringa, utilizzare _mbsnbcmp.
Poiché le funzioni di coll confrontare le stringhe lessicografico per il confronto, mentre cmp di funzioni del test è sufficiente per uguaglianza della stringa, le funzioni di coll è più lento delle versioni corrispondenti di cmp.Pertanto, le funzioni di coll devono essere utilizzate solo quando esiste una differenza tra l'ordine del set di caratteri e l'ordine dei caratteri lessicografico nella tabella codici corrente e questa differenza è di particolare interesse per il confronto.
Il valore di output è interessato dall'impostazione dell'impostazione di categoria LC_CTYPE delle impostazioni locali; vedere setlocale per ulteriori informazioni.Le versioni di queste funzioni senza il suffisso _l utilizzano le impostazioni locali correnti per il comportamento dipendente dalle impostazioni locali; le versioni con il suffisso _l sono identiche, ad eccezione del fatto che utilizzano il parametro delle impostazioni locali che viene passato.Per ulteriori informazioni, vedere Impostazioni locali.
Mapping di routine a Testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsncoll |
_mbsnbcoll |
||
_tcsncoll_l |
_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l |
_mbsnbcoll_l |
|
_tcsnicoll |
_mbsnbicoll |
||
_tcsnicoll_l |
_mbsnbicoll_l |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_mbsnbcoll |
<mbstring.h> |
_mbsnbcoll_l |
<mbstring.h> |
_mbsnbicoll |
<mbstring.h> |
_mbsnbicoll_l |
<mbstring.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.
Vedere anche
Riferimenti
strncmp, wcsncmp, _mbsncmp, _mbsncmp_l
_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l