Condividi tramite


_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.

Vedere anche

Riferimenti

Modifica di stringhe (CRT)

Impostazioni locali

Interpretazione di sequenze di caratteri multibyte

_mbsnbcat, _mbsnbcat_l