_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Restituisce il numero di caratteri o di byte in un numero specificato.
Importante |
---|
_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.