_strnset_s
, _strnset_s_l
, , _wcsnset_s_l
_wcsnset_s
, _mbsnset_s
, _mbsnset_s_l
, _tcsnset_s
, _tcsncset_s
,_tcsncset_s_l
Initialise les caractères d’une chaîne à un caractère donné. Ces versions de _strnset
, _strnset_l
_wcsnset
_wcsnset_l
, , _mbsnset
, ont _mbsnset_l
des améliorations de sécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT.
Important
_mbsnset_s
et _mbsnset_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.
Pour _tcsnset_s
, _tcsnset_s_l
, _tcsncset_s
et _tcsncset_s_l
consultez les mappages de fonctions de texte générique.
Syntaxe
errno_t _strnset_s(
char *str,
size_t numberOfElements,
int c,
size_t count
);
errno_t _strnset_s_l(
char *str,
size_t numberOfElements,
int c,
size_t count,
_locale_t locale
);
errno_t _wcsnset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count
);
errno_t _wcsnset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
size_t count,
_locale_t locale
);
errno_t _mbsnset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count
);
errno_t _mbsnset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
size_t count,
_locale_t locale
);
Paramètres
str
Chaîne à modifier.
numberOfElements
Taille de la mémoire tampon str
.
c
Paramètre de caractère.
count
Nombre de caractères à définir.
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
ne s’agit pas d’une chaîne terminée par null valide ou si l’argument de taille est inférieur ou égal à 0, 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 un code d’erreur et l’affectent à errno
. Le code d’erreur par défaut est EINVAL
si une valeur plus spécifique ne s’applique pas.
Notes
Ces fonctions remplacent, au maximum, les count
premiers caractères de str
par c
. Si la valeur de count
est supérieure à la taille de str
, la taille de str
est utilisée à la place de count
. Une erreur se produit si la valeur de count
est supérieure à numberOfElements
et que la valeur de ces deux paramètres est supérieure à la taille de str
.
_wcsnset_s
et _mbsnset_s
sont des versions à caractères larges et à caractères multioctets de _strnset_s
. L’argument de chaîne est _wcsnset_s
une chaîne à caractères larges ; celle d’une _mbsnset_s
chaîne de caractères multioctets. Ces trois 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 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 fonctions de texte générique
La fonction dans la tchar.h
colonne est mappée à la fonction dans les autres colonnes en fonction du jeu de caractères défini au moment de la compilation.
Fonction tchar.h |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsnset_s |
_strnset_s |
_mbsnbset_s |
_wcsnset_s |
_tcsnset_s_l |
_strnset_s_l |
_mbsnbset_s_l |
_wcsnset_s_l |
_tcsncset_s |
_strnset_s |
_mbsnset_s |
_wcsnset_s |
_tcsncset_s_l |
_strnset_s_l |
_mbsnset_s_l |
_wcsnset_s_l |
Spécifications
Routine | En-tête requis |
---|---|
_strnset_s |
<string.h> |
_strnset_s_l |
<tchar.h> |
_wcsnset_s |
<string.h> ou <wchar.h> |
_wcsnset_s_l |
<tchar.h> |
_mbsnset_s , _mbsnset_s_l |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_strnset_s.c
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[15] = "This is a test";
/* Set not more than 4 characters of string to be *'s */
printf( "Before: %s\n", string );
_strnset_s( string, sizeof(string), '*', 4 );
printf( "After: %s\n", string );
}
Before: This is a test
After: **** is a test
Voir aussi
Manipulation de chaînes
Paramètres régionaux
Interprétation des séquences de caractères multioctets
strcat
, , wcscat
_mbscat
strcmp
, , wcscmp
_mbscmp
strcpy
, , wcscpy
_mbscpy
_strset
, , _strset_l
, _wcsset_l
_wcsset
, , _mbsset
_mbsset_l