_strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
, , _mbsset_l
Define os caracteres de uma cadeia de caracteres para um determinado caractere. Estão disponíveis versões mais seguras dessas funções. Para obter informações, confira _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 Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.
Sintaxe
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 em nulo a ser definida.
c
Configuração de caractere.
locale
Localidade a usar.
Valor retornado
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
para c
, convertido para char
. _wcsset
e _mbsset_l
são versões de caractere largo e caracteres multibyte de _strset
e os tipos de dados dos argumentos e valores de retorno variam de acordo. Caso contrário, essas funções se comportam de forma idêntica.
_mbsset
valida seus parâmetros. Se str
for um ponteiro nulo, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação de 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
da localidade. Para obter mais informações, consulte setlocale
. As versões dessas funções são idênticas, exceto que aquelas que não têm o sufixo _l
usam a localidade atual e as com um sufixo _l
usam o parâmetro de localidade informado. Para obter mais informações, consulte Localidade.
Importante
Essas funções podem ser vulneráveis a ameaças de estouro de buffer. Os estouros de buffer podem ser usados em ataques de sistema porque podem causar uma elevação de privilégio não garantida. Para obter mais informações, confira Como evitar sobrecargas de buffer.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.
Mapeamentos de rotina de texto genérico
Rotina TCHAR.H | _UNICODE e _MBCS não definidos |
_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 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 );
}
Before: Fill the string with something.
After: *******************************
Confira também
Manipulação de cadeia de caracteres
Localidade
Interpretação de sequências de caracteres multibyte
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strcpy
, wcscpy
, _mbscpy
_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, _mbsnset
, , _mbsnset_l