_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 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
Interpretación de secuencias de caracteres de varios bytes
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l