_mbsnbcoll, _mbsnbcoll_l, _mbsnbicoll, _mbsnbicoll_l

Confronta i byte di n di due stringhe di caratteri multibyte utilizzando le informazioni della tabella codici multibyte.

Nota importanteImportante

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

_strncoll

_mbsnbcoll

_wcsncoll

_tcsncoll_l

_strncoll, _wcsncoll, _mbsncoll, _strncoll_l, _wcsncoll_l, _mbsncoll_l

_mbsnbcoll_l

_wcsncoll_l

_tcsnicoll

_strnicoll

_mbsnbicoll

_wcsnicoll

_tcsnicoll_l

_strnicoll_l

_mbsnbicoll_l

_wcsnicoll_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

Modifica delle stringhe (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_mbsnbicmp, _mbsnbicmp_l

funzioni di strcoll

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l