_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Restituisce il numero di caratteri o di byte in un conteggio specificato.
Importante
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, e _mbsnccnt_l non possono essere usati in applicazioni eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW.
size_t _strncnt(
const char *str,
size_t count
);
size_t _wcsncnt(
const wchar_t *str,
size_t count
);
size_t _mbsnbcnt(
const unsigned char *str,
size_t count
);
size_t _mbsnbcnt_l(
const unsigned char *str,
size_t count,
_locale_t locale
);
size_t _mbsnccnt(
const unsigned char *str,
size_t count
);
size_t _mbsnccnt_l(
const unsigned char *str,
size_t count,
_locale_t locale
);
Parametri
str
Stringa da esaminare.count
Numero di caratteri o byte da esaminare in str.locale
Impostazioni locali da utilizzare.
Valore restituito
_mbsnbcnt e _mbsnbcnt_l restituiscono il numero di byte trovato nel primo count di caratteri multibyte di str. _mbsnccnt e _mbsnccnt_l restituiscono il numero di caratteri trovati nel primo count di byte di str. Se un carattere null viene visualizzato prima che la revisione di str sia stata completata, restituiscono il numero di byte o caratteri trovati prima del carattere null. Se str è minore di count caratteri o byte, restituiscono il numero di caratteri o byte nella stringa. Se count è minore di zero, restituiscono 0. Nelle versioni precedenti, queste funzioni avevano un valore di ritorno di tipo int anziché size_t.
_strncnt restituisce il numero di caratteri nei primi count byte della stringa a un byte str. _wcsncnt restituisce il numero di caratteri nei primi count caratteri wide della stringa con caratteri estesi str.
Note
_mbsnbcnt e _mbsnbcnt_l contano il numero di byte trovato nel primo count di caratteri multibyte di str. _mbsnbcnt e _mbsnbcnt_l sostituiscono mtob e devono essere utilizzati al posto di mtob.
_mbsnccnt e _mbsnccnt_l contano il numero di caratteri trovati nel primo count di byte di str. Se _mbsnccnt e _mbsnccnt_l incontrano un valore NULL nel secondo byte di un carattere a doppio byte, il primo byte viene considerato come NULL e non è incluso nel conteggio di valore restituito. _mbsnccnt e _mbsnccnt_l sostituiscono btom e devono essere utilizzati al posto di btom.
Se str è un puntatore null o count è 0, queste funzioni invocano il gestore di parametri non validi come descritto in Convalida dei parametri, errno è impostato su EINVAL e la funzione restituisce 0.
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 su testo generico
Routine |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcsnbcnt |
_strncnt |
_mbsnbcnt |
_wcsncnt |
_tcsnccnt |
_strncnt |
_mbsnbcnt |
n/a |
_wcsncnt |
n/a |
n/a |
_mbsnbcnt |
_wcsncnt |
n/a |
n/a |
_mbsnccnt |
n/a |
n/a |
_mbsnbcnt_l |
_mbsnccnt_l |
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_mbsnbcnt |
<mbstring.h> |
_mbsnbcnt_l |
<mbstring.h> |
_mbsnccnt |
<mbstring.h> |
_mbsnccnt_l |
<mbstring.h> |
_strncnt |
<tchar.h> |
_wcsncnt |
<tchar.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità.
Esempio
// crt_mbsnbcnt.c
#include <mbstring.h>
#include <stdio.h>
int main( void )
{
unsigned char str[] = "This is a multibyte-character string.";
unsigned int char_count, byte_count;
char_count = _mbsnccnt( str, 10 );
byte_count = _mbsnbcnt( str, 10 );
if ( byte_count - char_count )
printf( "The first 10 characters contain %d multibyte characters\n", char_count );
else
printf( "The first 10 characters are single-byte.\n");
}
Output
The first 10 characters are single-byte.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.