Partilhar via


_mbsnbset, _mbsnbset_l

conjunto a primeira n bytes de uma seqüência de caracteres multibyte em um caractere especificado. Versões mais seguras dessas funções estão disponível; consulte _mbsnbset_s, _mbsnbset_s_l.

unsigned char *_mbsnbset(
   unsigned char *str,
   unsigned int c,
   size_t count 
);
unsigned char *_mbsnbset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parâmetros

  • str
    Seqüência de caracteres a ser alterado.

  • c
    Configuração de um byte ou caractere de multibyte.

  • count
    Número de bytes a ser conjunto.

  • locale
    Localidade usar.

Valor de retorno

_mbsnbset Retorna um ponteiro para a seqüência alterada.

Comentários

The _mbsnbset e _mbsnbset_l funções conjunto, no máximo, o primeiro count bytes de str para c. If count é maior do que o comprimento de str, o tamanho de str é usado em vez de count. If c é um caractere de vários bytes e não pode ser conjunto inteiramente para o último byte especificado por count, o último byte é preenchido com um caractere em branco. _mbsnbset and _mbsnbset_ldoes not place a terminating null at the end of str.

_mbsnbset and _mbsnbset_lis similar to _mbsnset, except that it sets count bytes rather than count characters of c.

If str é NULL ou count é zero, esta função gera uma exceção de parâmetro inválido, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é definido como EINVAL e a função retorna NULL. Além disso, se c não é um caractere válido multibyte, errno é definido como EINVAL e um espaço é usado.

O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; consulte setlocale para obter mais informações.The _mbsnbset versão essa função usa a localidade corrente para esse comportamento dependente de localidade; o _mbsnbset_l versão é idêntica, exceto pelo fato de que ele usar o parâmetro de localidade passado em vez disso.For more information, see Localidade.

Observação de segurança    Essa API gera uma ameaça potencial colocada um problema de saturação de buffer.Problemas de saturação de buffer são um método de ataque do sistema, resultando em uma elevação do privilégio unwarranted freqüente.Para obter mais informações, consulte Evitar saturações de buffer.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Requisitos

Rotina

Cabeçalho necessário

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Exemplo

// crt_mbsnbset.c
// compile with: /W3
#include <mbstring.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 bytes of string to be *'s */
   printf( "Before: %s\n", string );
   _mbsnbset( string, '*', 4 ); // C4996
   // Note; _mbsnbset is deprecated; consider _mbsnbset_s
   printf( "After:  %s\n", string );
}

Saída

Before: This is a test
After:  **** is a test

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Manipulação de seqüência de caracteres (CRT)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l