_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
Define caracteres de uma cadeia de caracteres para um caractere. Versões mais seguras dessas funções estão disponíveis; consulte _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.
Importante
_mbsset e _mbsset_l não podem ser usados em aplicativos executados no Tempo de Execução do Windows.Para obter mais informações, consulte Funções CRT sem suporte pelo /ZW.
char *_strset(
char *str,
int c
);
char *_strset_l(
char *str,
int c,
locale_t locale
);
wchar_t *_wcsset(
wchar_t *str,
wchar_t c
);
wchar_t *_wcsset_l(
wchar_t *str,
wchar_t c,
locale_t locale
);
unsigned char *_mbsset(
unsigned char *str,
unsigned int c
);
unsigned char *_mbsset_l(
unsigned char *str,
unsigned int c,
_locale_t locale
);
Parâmetros
str
Cadeia de caracteres terminada com Null a ser definida.c
Configuração de caracteres.locale
Localidade a ser usada.
Valor de retorno
Retorna um ponteiro para a cadeia de caracteres alterada.
Comentários
A função _strset define todos os caracteres (exceto o caractere nulo de terminação) de str como c, convertidos em char. _wcsset e _mbsset_l são versões de caracteres largos e de caracteres multibyte de _strset, e os tipos de dados dos argumentos e os valores de retorno variam de acordo. Essas funções se comportam exatamente o contrário.
_mbsset valida seus parâmetros. Se str for um ponteiro nulo, o manipulador de parâmetro inválido será chamado, como descrito em Validação do parâmetro. Se a execução puder continuar,_mbsset retornará NULL e definirá errno como EINVAL. _strset e _wcsset não validam seus parâmetros.
O valor de saída é afetado pela configuração da categoria LC_CTYPE de localidade. Para obter mais informações, consulte setlocale, _wsetlocale. As versões dessas funções são idênticas, exceto aquelas que não têm o sufixo _l usam a localidade atual e aquelas que têm o sufixo _l, ao contrário, usam o parâmetro de localidade que foi informado. Para obter mais informações, consulte Localidade.
![]() |
---|
Essas funções podem ser vulneráveis às ameaças de saturação de buffer.As saturações de buffer podem ser usadas para ataques ao sistema, pois podem causar uma elevação de privilégios injustificável.Para obter mais informações, consulte Evitando saturações de buffer. |
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> ou <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset, _mbsset_l |
<mbstring.h> |
Para obter informações adicionais sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_strset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset( string, '*' ); // C4996
// Note: _strset is deprecated; consider using _strset_s instead
printf( "After: %s\n", string );
}
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 da cadeia de caracteres (CRT)
Interpretação de sequências de caracteres multibyte
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l