_strnset_s
, _strnset_s_l
, _wcsnset_s
, _wcsnset_s_l
, _mbsnset_s
, _mbsnset_s_l
, _tcsnset_s
, , _tcsncset_s
_tcsncset_s_l
Inicializa los caracteres de una cadena en un carácter dado. Estas versiones de _strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, _mbsnset
, tienen _mbsnset_l
mejoras de seguridad, como se describe en Características de seguridad de CRT.
Importante
_mbsnset_s
y _mbsnset_s_l
no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.
Para _tcsnset_s
, _tcsnset_s_l
, _tcsncset_s
y _tcsncset_s_l
vea Asignaciones de funciones de texto genérico.
Sintaxis
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
Cadena que se va a modificar.
numberOfElements
Tamaño del búfer str
.
c
Especificación de carácter.
count
Número de caracteres que se va a establecer.
locale
Configuración regional que se va a usar.
Valor devuelto
Cero si es correcto, código de error en caso contrario.
Estas funciones validan sus argumentos. Si str
no es una cadena terminada en NULL válida o el argumento size es menor o igual que 0, se invoca al controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven un código de error y establecen errno
en ese código de error. El código de error predeterminado es EINVAL
si no se aplica un valor más específico.
Comentarios
Estas funciones establecen, como máximo, los primeros count
caracteres de str
en c
. Si count
es mayor que el tamaño de str
, se usa el tamaño de str
en lugar de count
. Se produce un error si count
es mayor que numberOfElements
y los dos parámetros son mayores que el tamaño de str
.
_wcsnset_s
y _mbsnset_s
son versiones de caracteres anchos y multibyte de _strnset_s
. El argumento string de _wcsnset_s
es una cadena de caracteres anchos; de es una cadena de _mbsnset_s
caracteres multibyte. Estas tres funciones se comportan exactamente igual.
El valor de salida se ve afectado por el valor de la categoría LC_CTYPE
de la configuración regional. Para obtener más información, vea setlocale
. Las versiones de estas funciones sin el sufijo _l
usan la configuración regional actual de su comportamiento dependiente de la configuración regional; las versiones con el sufijo _l
son idénticas salvo que usan el parámetro locale pasado en su lugar. Para obtener más información, vea Locale.
Las versiones de la biblioteca de depuración de estas funciones rellenan primero el búfer con 0xFE
. Para deshabilitar este comportamiento, use _CrtSetDebugFillThreshold
.
De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.
Asignaciones de funciones de texto genérico
La función de la tchar.h
columna se asigna a la función de las demás columnas en función del juego de caracteres definido en tiempo de compilación.
Función tchar.h |
_UNICODE y _MBCS no 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 |
_tcsncset_s |
_strnset_s |
_mbsnset_s |
_wcsnset_s |
_tcsncset_s_l |
_strnset_s_l |
_mbsnset_s_l |
_wcsnset_s_l |
Requisitos
Routine | Encabezado necesario |
---|---|
_strnset_s |
<string.h> |
_strnset_s_l |
<tchar.h> |
_wcsnset_s |
<string.h> o <wchar.h> |
_wcsnset_s_l |
<tchar.h> |
_mbsnset_s , _mbsnset_s_l |
<mbstring.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
// 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
Vea también
Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres de varios bytes
strcat
, , wcscat
, _mbscat
strcmp
, , wcscmp
, _mbscmp
strcpy
, , wcscpy
, _mbscpy
_strset
, _strset_l
, _wcsset
, _wcsset_l
, , _mbsset
, _mbsset_l