_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

Définit les caractères d'une chaîne à 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 and _mbsset_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans le Windows Runtime.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

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 terminée par Null à définir.

  • c
    Paramètre de caractère.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

Retourne un pointeur vers la chaîne modifiée.

Notes

La fonction _strset définit tous les caractères (sauf le caractère null de fin) de str à c, en char. _wcsset et _mbsset_l sont à caractère élargi et des versions à caractères multi-octets de _strset, et les types de données des arguments et les 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 à se poursuivre,_mbsset renvoie NULL et attribue à errno la valeur 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 ; consultez setlocale, _wsetlocale pour plus d'informations. Les versions des fonctions sont identiques, sauf pour celles qui ne disposent pas du suffixe _l qui utilisent les version régionales, et celles qui n'ont pas le suffix _l utilisent le paramètre local passé à la place. Pour plus d'informations, consultez Paramètres régionaux.

Note de sécuritéNote de sécurité

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.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tcsset

_strset

_mbsset

_wcsset

_tcsset_l

_strset_l

_mbsset_l

_wcsset_l

Configuration requise

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 Compatibilité.

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 );
}
  

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.

Voir aussi

Référence

Manipulation de chaînes (CRT)

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, _wcsnset_l, _mbsnset, _mbsnset_l