_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