Compartilhar via


_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.

Observação de segurançaObservação de segurança

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)

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