Compartir a través de


_strnset, _strnset_l, _wcsnset, _wcsnset_l, , _mbsnset, _mbsnset_l

Inicializa los caracteres de una cadena en un carácter dado. Existen versiones más seguras de estas funciones; vea _strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l.

Importante

_mbsnset y _mbsnset_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 en aplicaciones de la Plataforma universal de Windows.

Sintaxis

char *_strnset(
   char *str,
   int c,
   size_t count
);
char *_strnset_l(
   char *str,
   int c,
   size_t count,
   _locale_t locale
);
wchar_t *_wcsnset(
   wchar_t *str,
   wchar_t c,
   size_t count
);
wchar_t *_wcsnset_l(
   wchar_t *str,
   wchar_t c,
   size_t count,
   _locale_t locale
);
unsigned char *_mbsnset(
   unsigned char *str,
   unsigned int c,
   size_t count
);
unsigned char *_mbsnset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parámetros

str
Cadena que se va a modificar.

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.

Valor devuelto

Devuelve un puntero a la cadena modificada.

Comentarios

La función _strnset establece, como máximo, los primeros count caracteres de str en c (convertidos en char). Si count es mayor que la longitud de str, se usa la longitud de str en lugar de count.

_wcsnset y _mbsnset son versiones de caracteres anchos y multibyte de _strnset. Los argumentos de cadena y el valor devuelto de _wcsnset son cadenas de caracteres anchos. Los argumentos de cadena y el valor devuelto de _mbsnset son cadenas de caracteres multibyte. Estas tres funciones se comportan exactamente igual.

_mbsnset valida sus parámetros; si str es un puntero nulo, se invoca el controlador de parámetros no válidos, tal como se describe en Validación de parámetros . Si la ejecución puede continuar, _mbsnset devuelve NULL y establece errno en EINVAL. _strnset y _wcsnset no validen sus parámetros.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional. Para obtener más información, vea setlocale. 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 Locale.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcsnset _strnset _mbsnbset _wcsnset
_tcsnset_l _strnset_l _mbsnbset_l _wcsnset_l

Requisitos

Routine Encabezado necesario
_strnset <string.h>
_strnset_l <tchar.h>
_wcsnset <string.h> o <wchar.h>
_wcsnset_l <tchar.h>
_mbsnset, _mbsnset_l <mbstring.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_strnset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
   // Note: _strnset is deprecated; consider using _strnset_s
   printf( "After:  %s\n", string );
}
Before: This is a test
After:  **** is a test

Vea también

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