_strset_s
, _strset_s_l
, _wcsset_s
, _wcsset_s_l
, _mbsset_s
, , _mbsset_s_l
Define os caracteres de uma cadeia de caracteres para um determinado caractere. Essas versões do , _strset_l
, , _wcsset_l
_wcsset
, _mbsset
, _mbsset_l
têm aprimoramentos de _strset
segurança, conforme descrito em Recursos de segurança no CRT.
Importante
_mbsset_s
e _mbsset_s_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
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 em nulo a ser definida.
numberOfElements
O tamanho do buffer str
.
c
Configuração de caractere.
locale
Localidade a usar.
Valor retornado
Zero se for bem-sucedido; caso contrário, um código de erro.
Essas funções validam seus argumentos. Se str
for um ponteiro nulo, ou o numberOfElements
argumento for menor ou igual a 0, ou o bloco passado não for terminado em nulo, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essas funções retornarão EINVAL
e definirão errno
para EINVAL
.
Comentários
A função _strset_s
define todos os caracteres de str
para c
(convertido em char
), exceto o caractere nulo de terminação. _wcsset_s
e _mbsset_s
são versões de caracteres largos e de caracteres multibyte de _strset_s
. 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.
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 sem o sufixo _l
usam a localidade atual desse comportamento dependente da localidade. As versões com o sufixo _l
são idênticas, exceto por usarem o parâmetro de localidade passado em seu lugar. Para obter mais informações, consulte Localidade.
As versões de biblioteca de depuração dessas funções preenchem o buffer com 0xFE. Para desabilitar esse comportamento, use _CrtSetDebugFillThreshold
.
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_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 obter informações sobre 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 );
}
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