Partager via


_strset_s, , _strset_s_l, _wcsset_s_l_wcsset_s, , _mbsset_s_mbsset_s_l

Remplace les caractères d’une chaîne par un caractère. Ces versions de _strset, _strset_l_wcsset_wcsset_l, , _mbsset, ont _mbsset_l des améliorations de sécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT.

Important

_mbsset_s et _mbsset_s_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

errno_t _strset_s(
   char *str,
   size_t numberOfElements,
   int c
);
errno_t _strset_s_l(
   char *str,
   size_t numberOfElements,
   int c,
   _locale_t locale
);
errno_t _wcsset_s(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c
);
errno_t *_wcsset_s_l(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   _locale_t locale
);
errno_t _mbsset_s(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c
);
errno_t _mbsset_s_l(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   _locale_t locale
);

Paramètres

str
Chaîne se terminant par un caractère Null à définir.

numberOfElements
Taille de la mémoire tampon str.

c
Paramètre de caractère.

locale
Paramètres régionaux à utiliser.

Valeur retournée

Zéro en cas de réussite ; code d’erreur dans un autre cas.

Ces fonctions valident leurs arguments. S’il str s’agit d’un pointeur Null ou si l’argument numberOfElements est inférieur ou égal à 0, ou si le bloc passé n’est pas terminé par null, le gestionnaire de paramètres non valide est appelé, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent EINVAL et définissent errno avec la valeur EINVAL.

Notes

La fonction _strset_s remplace tous les caractères de str par c (converti en char), à l’exclusion du caractère Null de fin. _wcsset_s et _mbsset_s sont des versions à caractères larges et à caractères multioctets de _strset_s. 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.

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.

Les versions de bibliothèque de débogage de ces fonctions remplissent d’abord la mémoire tampon avec 0xFE. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold.

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_s _strset_s _mbsset_s _wcsset_s
_tcsset_s_l _strset_s_l _mbsset_s_l _wcsset_s_l

Spécifications

Routine En-tête requis
_strset_s <string.h>
_strset_s_l <tchar.h>
_wcsset_s <string.h> ou <wchar.h>
_wcsset_s_l <tchar.h>
_mbsset_s, _mbsset_s_l <mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Exemple

// crt_strset_s.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
   char string[] = "Fill the string with something.";
   printf( "Before: %s\n", string );
   _strset_s( string, _countof(string), '*' );
   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