_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Inicializa los caracteres de una cadena en un carácter dado. Estas versiones de _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l tienen mejoras de seguridad, como se describe en características de seguridad de CRT.

System_CAPS_ICON_important.jpg Importante

_mbsnset_s y _mbsnset_s_l no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para más información, vea Funciones de CRT no admitidas 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  
);  

Parámetros

str
Cadena que se va a modificar.

numberOfElements
Tamaño del búfer str.

c
Especificación de carácter.

count
Número de caracteres que se va a establecer.

locale
Configuración regional que se va a usar.

Cero si es correcto, código de error en caso contrario.

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

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

_wcsnset_s y _mbsnset_s son versiones de caracteres anchos y multibyte de _strnset_s. El argumento de cadena de _wcsnset_s es un carácter de toda la cadena; de _mbsnset_s es la cadena de caracteres amultibyte. Estas tres funciones se comportan exactamente igual.

El valor de salida se ve afectado por el valor de la LC_CTYPE configuración de categoría de la configuración regional; vea setlocale para obtener más información. Las versiones de estas funciones sin el _l sufijo usan la configuración regional actual para este comportamiento dependiente de la configuración regional; las versiones con el_l sufijo 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 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
_tcsnset_s_strnset_s_mbsnbset_s_wcsnset_s
_tcsnset_s_l_strnset_s_l_mbsnbset_s_l_wcsnset_s_l
RutinaEncabezado 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 más información sobre compatibilidad, vea Compatibilidad.

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

Before: This is a test  
After:  **** is a test  

System::String::Replace

Manipulación de cadenas
Configuración regional
Interpretación de secuencias de caracteres Multibyte
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

Mostrar: