_strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l
Define caracteres de uma cadeia de caracteres para um caractere. Essas versões de _strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l têm aprimoramentos de segurança, como descrito em Recursos de segurança no CRT.
Importante
_mbsset_s e _mbsset_s_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.
errno_t _strset_s(
char *str,
size_t numberOfElements,
int c
);
errno_t _strset_s_l(
char *str,
size_t numberOfElements,
int c,
locale_t locale
);
errno_t _wcsset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c
);
errno_t *_wcsset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
locale_t locale
);
errno_t _mbsset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c
);
errno_t _mbsset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
_locale_t locale
);
Parâmetros
str
Cadeia de caracteres terminada com Null a ser definida.numberOfElements
O tamanho do buffer str.c
Configuração de caracteres.locale
Localidade a ser usada.
Valor de retorno
Zero se tiver êxito, caso contrário, um código de erro.
Essas funções validam seus argumentos. Se str for um ponteiro nulo, ou o argumento de numberOfElements for menor ou igual a 0, ou o bloco passado não for terminado em nulo, então o manipulador de parâmetro inválido é chamado, conforme descrito em Validação do parâmetro. Se a execução puder continuar, essas funções retornarão EINVAL e definirão errno como EINVAL.
Comentários
A função _strset_s define todos os caracteres de str como c (convertidos para char), exceto o caracteres nulo de terminação. _wcsset_s e _mbsset_s são versões de caracteres largos e de multibyte de _strset_s. Os tipos de dados dos argumentos e os valores retornados variam de acordo com o caso. Essas funções se comportam exatamente o contrário.
O valor de saída é afetado pela configuração da categoria LC_CTYPE de localidade. Para obter mais informações, consulte setlocale. As versões dessas funções sem o sufixo _l usam a localidade atual para esse comportamento dependente da localidade; as versões com o sufixo _l são idênticas, exceto que elas usam o parâmetro de localidade informado. Para obter mais informações, consulte Localidade.
As versões de depuração dessas funções preenchem primeiro o buffer com 0xFD. Para desabilitar esse comportamento, use _CrtSetDebugFillThreshold.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcsset_s |
_strset_s |
_mbsset_s |
_wcsset_s |
_tcsset_s_l |
_strset_s_l |
_mbsset_s_l |
_wcsset_s_l |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_strset_s |
<string.h> |
_strset_s_l |
<tchar.h> |
_wcsset_s |
<string.h> ou <wchar.h> |
_wcsset_s_l |
<tchar.h> |
_mbsset_s, _mbsset_s_l |
<mbstring.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade.
Exemplo
// crt_strset_s.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset_s( string, _countof(string), '*' );
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 chamadas de plataformas.
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