Share via


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Inicialize caracteres de uma seqüência de caracteres para um determinado caractere.Essas são sistema autônomo versões de _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l com aprimoramentos de segurança conforme descrito em Aprimoramentos de segurança no CRT.

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
    Seqüência de caracteres a ser alterado.

  • numberOfElements
    O dimensionar do str buffer.

  • c
    Configuração de caractere.

  • count
    Número de caracteres a ser conjunto.

  • locale
    Localidade usar.

Valor de retorno

Zero se for bem-sucedido, caso contrário, um código de erro.

Essas funções validam seus argumentos.If str é um ponteiro nulo ou o dimensionar do argumento é menor ou igual a 0, e, em seguida, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, essas funções retornam EINVAL e conjunto errno para EINVAL.

Comentários

Essas funções conjunto, no máximo, a primeira count caracteres do str para c. If count é maior do que o dimensionar do str (ou seja, numberOfElements), o dimensionar é usado em vez de count.

_wcsnset_s e _mbsnset_s são versões de caractere largo e caracteres de multibyte de _strnset_s. O argumento de seqüência de caracteres da _wcsnset_s é um caractere de toda a seqüência de caracteres; da _mbsnset_s é umseqüência de caracteres de multibyte. Especifique estas três funções identicamente outro comportam.

O valor de saída é afetado pela configuração do LC_CTYPE categoria de configuração da localidade; consulte setlocale para obter mais informações.As versões dessas funções sem o _l sufixo use a localidade corrente para esse comportamento dependente de localidade; as versões com o _l sufixo são idênticas exceto que usarem o parâmetro de localidade passado em vez disso. For more information, see Localidade.

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

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_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 obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

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 );
}

Before: This is a test After:  **** is a test

Equivalente do NET Framework

sistema::String::substituir

Consulte também

Referência

Manipulação de seqüência de caracteres (CRT)

Localidade

Interpretação de seqüências de caractere multibyte

strcat wcscat, _mbscat

strcmp wcscmp, _mbscmp

strcpy wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l