Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Inicializa los caracteres de una cadena en un carácter dado. Éstas son versiones de _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l con mejoras de seguridad como se describe en Características de seguridad en CRT.

Nota importante Importante

_mbsnset_s y _mbsnset_s_l no se pueden utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows. Para obtener más información, vea Funciones CRT no compatibles con /ZW.

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
);

str

Cadena que se va a modificar.

numberOfElements

El tamaño del búfer de str.

c

Valor de carácter.

count

Número de caracteres que se va a establecer.

locale

Configuración regional a utilizar.

Cero si es correcto, si no es un código de error.

Estas funciones validan sus argumentos. Si str no es una cadena terminada en null válida o argumento de tamaño es menor o igual que 0, entonces se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, estas funciones devuelven un código de error y un conjunto errno a ese código de error. El código de error predeterminado es EINVAL si no aplica un valor más concreto.

Estas funciones establecidas, como máximo, los primeros caracteres de count de str a c. Si count es mayor que el tamaño de str, el tamaño de str se utiliza en lugar de count. Se produce un error si count es mayor que numberOfElements y esos parámetros son mayores que el tamaño de str.

_wcsnset_s y _mbsnset_s son versiones de caracteres anchos y de multibyte- carácter de _strnset_s. El argumento de cadena de _wcsnset_s es una cadena de caracteres; la de _mbsnset_s es una cadena de multibyte- carácter de . Estas tres funciones se comportan exactamente igual de otra manera.

El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; vea setlocale para obtener más información. Las versiones de estas funciones sin el sufijo de _l utilizan la configuración regional actual para este comportamiento configuración regional-dependiente; las versiones con el sufijo de _l son idénticas salvo que utilizan 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 primero rellenan el búfer con 0xFD. Para deshabilitar este comportamiento, use _CrtSetDebugFillThreshold.

Asignaciones de la rutina de Genérico- texto

Rutina de 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

Rutina

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 información adicional de compatibilidad, vea Compatibilidad en la Introducción.

// 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 );
}
Antes: Esto es una prueba después de: el **** es una prueba
Mostrar: