Compartir a través de


_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, _mbsset_l tienen 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 con /ZW.

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 argumento numberOfElements es menor o igual que 0, o el bloque que se pasa no termina en un valor nulo, 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; vea setlocale para obtener más información. 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 Configuración regional.

Las versiones de depuración de estas funciones rellenan primero el búfer con 0xFD. Para deshabilitar este comportamiento, use _CrtSetDebugFillThreshold.

Asignaciones de rutina 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

Rutina

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

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Manipulación de cadenas (CRT)

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