Partager via


_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