Partilhar via


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Inicializar caracteres de uma cadeia de caracteres em um caractere especificado.Essas são versões de _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l com aprimoramentos de segurança conforme descrito em Recursos de segurança no CRT.

Observação importanteImportante

_mbsnset_s e _mbsnset_s_l não podem ser usados em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW.

errno_t _strnset_s( char *str, size_t numberOfElements, int c, size_t count ); errno_t _strnset_s_l( char *str, size_t numberOfElements, int c, size_t count, locale_t locale ); errno_t _wcsnset_s( wchar_t *str, size_t numberOfElements, wchar_t c, size_t count ); errno_t _wcsnset_s_l( wchar_t *str, size_t numberOfElements, wchar_t c, size_t count, _locale_t locale ); errno_t _mbsnset_s( unsigned char *str, size_t numberOfElements, unsigned int c, size_t count ); errno_t _mbsnset_s_l( unsigned char *str, size_t numberOfElements, unsigned int c, size_t count, _locale_t locale );

Parâmetros

  • str
    Cadeia de caracteres a ser modificada.

  • numberOfElements
    O tamanho do buffer de str .

  • c
    Configuração de caracteres.

  • count
    Número de caracteres a ser definidas.

  • locale
    A localidade usar.

Valor de retorno

Zero se com êxito, se não um código de erro.

Essas funções validam seus argumentos.Se str não é uma cadeia de caracteres NULL- finalizada válido ou o tamanho de argumento é menor ou igual a 0, então o manipulador inválido do parâmetro é invocado, como descrito em Validação de parâmetro.Se a execução é permitida continuar, essas funções retornam um código de erro e um conjunto errno ao código de erro.O código de erro padrão é EINVAL se um valor mais específico não se aplica.

Comentários

Essas funções definem, no máximo, os primeiros caracteres de count de str a c.Se count é maior do que o tamanho de str, o tamanho de str é usado em vez de count.Um erro ocorrerá se count é maior do que numberOfElements e ambos os parâmetros são maiores do que o tamanho de str.

_wcsnset_s e _mbsnset_ssão versões de largo- caractere e o caractere multibyte- de _strnset_s.O argumento de cadeia de caracteres de _wcsnset_s é uma cadeia de caracteres de largo- caractere; o de _mbsnset_s é uma cadeia de caracteres de multibyte- caractere de.Essas três funções se comportam de forma idêntica.

O valor de saída é afetado pela configuração da categoria de LC_CTYPEde localidade; consulte setlocale para mais informações.As versões dessas funções sem o sufixo de _l usam a localidade atual para este comportamento de são dependentes; as versões com o sufixo de_l são idênticas exceto que usam o parâmetro de localidade passado em vez disso.Para obter mais informações, consulte Localidade.

As versões de depuração dessas funções preenchem primeiro o buffer com 0xFD.Para desativar esse comportamento, use _CrtSetDebugFillThreshold.

Mapeamentos da rotina de Genérico- texto

Rotina de TCHAR.H

_UNICODE & _MBCS não definidos

_MBCS definido

_UNICODE definido

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s_l

_mbsnbset_s_l

_wcsnset_s_l

Requisitos

Rotina

Cabeçalho necessário

_strnset_s

<string.h>

_strnset_s_l

<tchar.h>

_wcsnset_s

<string.h> ou <wchar.h>

_wcsnset_s_l

<tchar.h>

_mbsnset_s, _mbsnset_s_l

<mbstring.h>

Para informações extras de compatibilidade Compatibilidade na introdução, consulte.

Exemplo

// crt_strnset_s.c
#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 characters of string to be *'s */
   printf( "Before: %s\n", string );
   _strnset_s( string, sizeof(string), '*', 4 );
   printf( "After:  %s\n", string );
}
  

Equivalência do .NET Framework

System::String::Replace

Consulte também

Referência

Manipulação de cadeia de caracteres (CRT)

Localidade

Interpretação de seqüências de caracteres Multibyte

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l