_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
Retorna o número de caracteres ou de bytes em uma contagem fornecida.
Importante |
---|
_mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, e _mbsnccnt_l não podem ser usados em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /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 );
Parâmetros
str
Cadeia de caracteres a ser examinada.count
Número de caracteres ou de bytes a ser examinados strem.locale
A localidade usar.
Valor de retorno
_mbsnbcnt e _mbsnbcnt_l retorna o número de bytes localizados em primeiro count de caracteres de multibyte de str._mbsnccnt e _mbsnccnt_l retorna o número de caracteres localizadas em primeiro count de bytes de str.Se um caractere NULO é encontrado antes que o exame de str terminar, retorna o número de bytes ou caracteres encontrado antes do caractere NULO.Se str consiste em menos caracteres ou bytes de count , retorna o número de caracteres ou de bytes na cadeia de caracteres.Se count é menor que zero, retornará 0.Em versões anteriores, essas funções tivessem um valor de retorno do tipo int em vez de size_t.
_strncnt retorna o número de caracteres em bytes do primeiro count de cadeia de caracteres de byte único str._wcsncnt retorna o número de caracteres nos primeiros caracteres largos de count de cadeia de caracteres strde largo- caractere.
Comentários
_mbsnbcnt e _mbsnbcnt_l contam o número de bytes localizados em primeiro count de caracteres de multibyte de str._mbsnbcnt e _mbsnbcnt_l substituem mtob e devem ser usados em vez disso mtob.
_mbsnccnt e _mbsnccnt_l contam o número de caracteres localizadas em primeiro count de bytes de str.Se _mbsnccnt e _mbsnccnt_l encontra um NULL no segundo bytes de um caractere de byte duplo, o primeiro byte também é considerado ser NULL e não incluído no valor de contagem retornado._mbsnccnt e _mbsnccnt_l substituem btom e devem ser usados em vez disso btom.
Se str é um ponteiro é zero ou count é 0, essas funções chamam o manipulador inválido de parâmetros como descrito em Validação de parâmetro, errno é definido como EINVAL, e retorna 0 da função.
O valor de saída é afetado pela configuração da categoria de LC_CTYPE de localidade; consulte setlocale para mais informações.As versões dessas funções sem o sufixo de _l usam a localidade atual para este comportamento de são dependentes; as versões com o sufixo de _l são idênticas exceto que usam o parâmetro de localidade passado em vez disso.Para obter mais informações, consulte Localidade.
Mapeamentos da rotina de Genérico- texto
Rotina |
_UNICODE e não definidos _MBCS |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_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 |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_mbsnbcnt |
<mbstring.h> |
_mbsnbcnt_l |
<mbstring.h> |
_mbsnccnt |
<mbstring.h> |
_mbsnccnt_l |
<mbstring.h> |
_strncnt |
<tchar.h> |
_wcsncnt |
<tchar.h> |
Para mais informações, consulte Compatibilidade de compatibilidade na introdução.
Exemplo
// 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");
}
Saída
The first 10 characters are single-byte.
Equivalência do .NET Framework
Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.
Consulte também
Referência
Manipulação de cadeia de caracteres (CRT)