_strset_s
, _strset_s_l
, _wcsset_s
, _wcsset_s_l
, , _mbsset_s
, _mbsset_s_l
Establece los caracteres de una cadena en un carácter. Estas versiones de _strset
, _strset_l
, _wcsset
, _wcsset_l
, _mbsset
, tienen _mbsset_l
mejoras de seguridad, como se describe en Características de seguridad de CRT.
Importante
_mbsset_s
y _mbsset_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.
Sintaxis
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
Cadena terminada en NULL que se va a establecer.
numberOfElements
Tamaño del búfer str
.
c
Especificación de carácter.
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
es un puntero nulo, o el numberOfElements
argumento es menor o igual que 0, o el bloque pasado en no está terminado en null, se invoca el 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 EINVAL
y establecen errno
en EINVAL
.
Comentarios
La función _strset_s
establece todos los caracteres de str
en c
, (convertido en char
), excepto el carácter nulo de terminación. _wcsset_s
y _mbsset_s
son versiones de caracteres anchos y multibyte de _strset_s
. Los tipos de datos de los argumentos y los valores devueltos varían en consecuencia. Por lo demás, estas 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 rutinas de texto genérico
Rutina TCHAR.H | _UNICODE y _MBCS no definidos |
_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
Routine | Encabezado necesario |
---|---|
_strset_s |
<string.h> |
_strset_s_l |
<tchar.h> |
_wcsset_s |
<string.h> o <wchar.h> |
_wcsset_s_l |
<tchar.h> |
_mbsset_s , _mbsset_s_l |
<mbstring.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
// 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 );
}
Before: Fill the string with something.
After: *******************************
Vea también
Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres de varios bytes
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, , wcscat
, _mbscat
strcmp
, , wcscmp
, _mbscmp
strcpy
, , wcscpy
, _mbscpy
_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, , _mbsnset
, _mbsnset_l