_strnset
, , _strnset_l
, _wcsnset_l
_wcsnset
, , _mbsnset
_mbsnset_l
Initialise les caractères d’une chaîne à un caractère donné. Des versions plus sécurisées de ces fonctions existent ; voir , , _wcsnset_s
_strnset_s_l
, _wcsnset_s_l
, , _mbsnset_s
, _mbsnset_s_l
._strnset_s
Important
_mbsnset
et _mbsnset_l
ne peuvent pas être utilisées dans les applications qui s'exécutent dans Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.
Syntaxe
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
);
Paramètres
str
Chaîne à modifier.
c
Paramètre de caractère.
count
Nombre de caractères à définir.
locale
Paramètres régionaux à utiliser.
Valeur retournée
Retourne un pointeur vers la chaîne modifiée.
Notes
La fonction _strnset
remplace, au maximum, les count
premiers caractères de str
par c
(converti en char
). Si la valeur count
est supérieure à la longueur de str
, la longueur de str
est utilisée à la place de count
.
_wcsnset
et _mbsnset
sont des versions à caractères larges et à caractères multioctets de _strnset
. Les arguments de chaîne et la valeur de retour de _wcsnset
sont des chaînes de caractères larges. Les arguments de chaîne et la valeur de retour de _mbsnset
sont des chaînes de caractères multioctets. Ces trois fonctions se comportent sinon de façon identique.
_mbsnset
valide ses paramètres ; s’il str
s’agit d’un pointeur Null, le gestionnaire de paramètres non valide est appelé, comme décrit dans validation des paramètres. Si l'exécution est autorisée à continuer, _mbsnset
retourne NULL
et définit errno
à EINVAL
. _strnset
et _wcsnset
ne valident pas leurs paramètres.
La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE
des paramètres régionaux. Pour plus d’informations, consultez setlocale
. Les versions de ces fonctions sans le suffixe _l
utilisent les paramètres régionaux pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe _l
sont identiques, sauf qu'elles utilisent à la place les paramètres régionaux transmis. Pour plus d’informations, consultez Locale.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de routines de texte générique
Routine TCHAR.H | _UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Spécifications
Routine | En-tête requis |
---|---|
_strnset |
<string.h> |
_strnset_l |
<tchar.h> |
_wcsnset |
<string.h> ou <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset , _mbsnset_l |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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
Voir aussi
Manipulation de chaînes
Paramètres régionaux
Interprétation des séquences de caractères multioctets
strcat
, , wcscat
_mbscat
strcmp
, , wcscmp
_mbscmp
strcpy
, , wcscpy
_mbscpy
_strset
, , _strset_l
, _wcsset_l
_wcsset
, , _mbsset
_mbsset_l