_strset
, , _strset_l
, _wcsset_l
_wcsset
, , _mbsset
_mbsset_l
Remplace les caractères d’une chaîne par un caractère. Des versions plus sécurisées de ces fonctions sont disponibles. Consultez _strset_s
, _strset_s_l
, _wcsset_s
, _wcsset_s_l
, _mbsset_s
, _mbsset_s_l
.
Important
_mbsset
et _mbsset_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 *_strset(
char *str,
int c
);
char *_strset_l(
char *str,
int c,
_locale_t locale
);
wchar_t *_wcsset(
wchar_t *str,
wchar_t c
);
wchar_t *_wcsset_l(
wchar_t *str,
wchar_t c,
_locale_t locale
);
unsigned char *_mbsset(
unsigned char *str,
unsigned int c
);
unsigned char *_mbsset_l(
unsigned char *str,
unsigned int c,
_locale_t locale
);
Paramètres
str
Chaîne se terminant par un caractère Null à définir.
c
Paramètre de caractère.
locale
Paramètres régionaux à utiliser.
Valeur retournée
Retourne un pointeur vers la chaîne modifiée.
Notes
La fonction _strset
remplace tous les caractères (à l’exclusion du caractère Null de fin) de str
par c
, converti en char
. _wcsset
et _mbsset_l
sont des versions à caractères larges et à caractères multioctets de _strset
, et les types de données des arguments et des valeurs de retour varient en conséquence. Ces fonctions se comportent sinon de façon identique.
_mbsset
valide ses paramètres. Si str
est un pointeur null, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à continuer, _mbsset
retourne NULL
et définit errno
à EINVAL
. _strset
et _wcsset
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 sont identiques, sauf que celles qui n'ont pas le suffixe _l
utilisent les paramètres régionaux actuels et celles qui ont le suffixe _l
utilisent à la place les paramètres régionaux qui ont été passés. Pour plus d’informations, consultez Locale.
Important
Ces fonctions peuvent être vulnérables aux menaces de dépassement de mémoire tampon. Les dépassements de mémoire tampon peuvent être utilisés pour les attaques du système, car ils peuvent provoquer une élévation des privilèges injustifiée. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.
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 |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Spécifications
Routine | En-tête requis |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> ou <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset , _mbsset_l |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_strset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset( string, '*' ); // C4996
// Note: _strset is deprecated; consider using _strset_s instead
printf( "After: %s\n", string );
}
Before: Fill the string with something.
After: *******************************
Voir aussi
Manipulation de chaînes
Paramètres régionaux
Interprétation des séquences de caractères multioctets
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, , wcscat
_mbscat
strcmp
, , wcscmp
_mbscmp
strcpy
, , wcscpy
_mbscpy
_strnset
, , _strnset_l
, _wcsnset_l
_wcsnset
, , _mbsnset
_mbsnset_l