_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