_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l
Initialise les caractères d'une chaîne en un caractère donné. Des versions plus sécurisées de ces fonctions existent ; consultez _strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l.
Important
_mbsnset et _mbsnset_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 *_strnset(
char *str,
int c,
size_t count
);
char *_strnset_l(
char *str,
int c,
size_t count,
locale_t locale
);
wchar_t *_wcsnset(
wchar_t *str,
wchar_t c,
size_t count
);
wchar_t *_wcsnset_l(
wchar_t *str,
wchar_t c,
size_t count,
_locale_t locale
);
unsigned char *_mbsnset(
unsigned char *str,
unsigned int c,
size_t count
);
unsigned char *_mbsnset_l(
unsigned char *str,
unsigned int c,
size_t count,
_locale_t locale
);
Paramètres
str
Chaîne à modifier.c
Paramètre de caractère.count
Nombre de caractères à définir.locale
Paramètres régionaux à utiliser.
Valeur de retour
Retourne un pointeur vers la chaîne modifiée.
Notes
La fonction _strnset définit, au plus, les premiers count caractères de str à c (converti en char). Si count est supérieur à la longueur de str, la longueur de str est utilisée au lieu de count.
_wcsnset et _mbsnset sont des versions à caractères larges et à caractères multi-octets de _strnset. Les chaînes de caractères arguments et la valeur de retour de _wcsnset sont des chaînes à caractères larges ; ceux de _mbsnset sont des chaînes de caractères multioctets. Ces trois fonctions se comportent sinon de façon identique.
_mbsnset 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, _mbsnset renvoie NULL et attribue à errno la valeur EINVAL. _strnset et _wcsnset 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 pour plus d'informations. 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 passés. Pour plus d'informations, consultez Paramètres régionaux.
Mappages de routines de texte générique
Routine TCHAR.H |
_UNICODE & _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Configuration requise
Routine |
En-tête requis |
---|---|
_strnset |
<string.h> |
_strnset_l |
<tchar.h> |
_wcsnset |
<string.h> ou <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset, _mbsnset_l |
<mbstring.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité.
Exemple
// crt_strnset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
// Note: _strnset is deprecated; consider using _strnset_s
printf( "After: %s\n", string );
}