Compartir a través de


_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

Establece los caracteres de una cadena en un carácter. Hay disponibles versiones más seguras de estas funciones; vea _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.

Importante

_mbsset y _mbsset_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.

char *_strset(
   char *str,
   int c 
);
char *_strset_l(
   char *str,
   int c,
   locale_t locale
);
wchar_t *_wcsset(
   wchar_t *str,
   wchar_t c 
);
wchar_t *_wcsset_l(
   wchar_t *str,
   wchar_t c,
   locale_t locale
);
unsigned char *_mbsset(
   unsigned char *str,
   unsigned int c 
);
unsigned char *_mbsset_l(
   unsigned char *str,
   unsigned int c,
   _locale_t locale
);

Parámetros

  • str
    Cadena terminada en NULL que se va a establecer.

  • c
    Especificación de carácter.

  • locale
    Configuración regional que se va a usar.

Valor devuelto

Devuelve un puntero a la cadena modificada.

Comentarios

La función _strset establece todos los caracteres (excepto el carácter nulo de terminación) de str en c, convertido en char. _wcsset y _mbsset_l son versiones con caracteres anchos y versiones de caracteres multibyte de _strset, y 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.

_mbsset valida sus parámetros. Si str es un puntero nulo, 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, _mbsset devuelve NULL y establece errno en EINVAL. _strset y _wcsset no validan sus parámetros.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale, _wsetlocale para obtener más información. Las versiones de estas funciones son idénticas, salvo que las que no tienen el sufijo _l usan la configuración regional actual y las que tienen el sufijo _l usan el parámetro de configuración regional que se pasa. Para obtener más información, vea Configuración regional.

Nota de seguridadNota sobre la seguridad

Estas funciones pueden ser vulnerables a amenazas de saturación del búfer.Las saturaciones del búfer se pueden usar para ataques del sistema, ya que pueden producir una elevación de privilegios no justificada.Para obtener más información, vea Evitar saturaciones del búfer.

Asignaciones de rutina de texto genérico

Rutina TCHAR.H

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsset

_strset

_mbsset

_wcsset

_tcsset_l

_strset_l

_mbsset_l

_wcsset_l

Requisitos

Rutina

Encabezado necesario

_strset

<string.h>

_strset_l

<tchar.h>

_wcsset

<string.h> o <wchar.h>

_wcsset_l

<tchar.h>

_mbsset, _mbsset_l

<mbstring.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad.

Ejemplo

// crt_strset.c
// compile with: /W3

#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[] = "Fill the string with something.";
   printf( "Before: %s\n", string );
   _strset( string, '*' ); // C4996
   // Note: _strset is deprecated; consider using _strset_s instead
   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