_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

Restituisce il numero di caratteri o di byte in un numero specificato.

Nota importanteImportante

_mbsnbcnt, _mbsnbcnt_l, _mbsnccnte _mbsnccnt_l non possono essere utilizzati nelle applicazioni eseguite nelle finestre 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 analizzare.

  • count
    Numero di caratteri o byte da esaminare in str.

  • locale
    Impostazioni locali da utilizzare.

Valore restituito

_mbsnbcnt e _mbsnbcnt_l restituisce il numero di byte di primo count di caratteri multibyte di str._mbsnccnt e _mbsnccnt_l restituisce il numero di caratteri trovata in primo count di byte di str.Se un carattere null viene visualizzato prima che la revisione di str sia stato completato, restituisce il numero di byte o i caratteri presenti prima del carattere null.Se str è minore di caratteri o i byte di count, restituisce il numero di caratteri o di byte nella stringa.Se count è minore di zero, restituisce 0.Nelle versioni precedenti, queste funzioni avevano un valore restituito di tipo int anziché size_t.

_strncnt restituisce il numero di caratteri in primo byte di count della stringa a un byte str._wcsncnt restituisce il numero di caratteri nei primi caratteri di tipo " wide " di count stringa di caratteri estesi str.

Note

_mbsnbcnt e _mbsnbcnt_l contano il numero di byte di primo count di caratteri multibyte di str._mbsnbcnt e _mbsnbcnt_lmtob di sostituzione e devono essere utilizzati anziché mtob.

_mbsnccnt e _mbsnccnt_l contano il numero di caratteri trovata in primo count di byte di str.Se _mbsnccnt e _mbsnccnt_l hanno un valore NULL nel secondo byte di un carattere a byte doppio, il primo byte viene considerato come NULL e non è incluso nel valore di conteggio restituito._mbsnccnt e _mbsnccnt_lbtom di sostituzione e devono essere utilizzati anziché btom.

Se str è un puntatore null o è count è 0, queste funzioni richiamare il gestore non valido di parametro come descritto in Convalida dei parametri, errno è impostato su EINVALe restituisce 0 di funzione.

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

_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à nell'introduzione.

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.

Vedere anche

Riferimenti

Modifica delle stringhe (CRT)

Impostazioni locali

Interpretazione delle sequenze di caratteri multibyte

_mbsnbcat, _mbsnbcat_l