Compartilhar via


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

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