_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.
Importante |
---|
_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
Consulte também
Referência
Manipulação de cadeia de caracteres (CRT)