Partager via


_strnset, , _strnset_l, _wcsnset_l_wcsnset, , _mbsnset_mbsnset_l

Initialise les caractères d’une chaîne à un caractère donné. Des versions plus sécurisées de ces fonctions existent ; voir , , _wcsnset_s_strnset_s_l, _wcsnset_s_l, , _mbsnset_s, _mbsnset_s_l._strnset_s

Important

_mbsnset et _mbsnset_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

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 retournée

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

Notes

La fonction _strnset remplace, au maximum, les count premiers caractères de str par c (converti en char). Si la valeur count est supérieure à la longueur de str, la longueur de str est utilisée à la place de count.

_wcsnset et _mbsnset sont des versions à caractères larges et à caractères multioctets de _strnset. Les arguments de chaîne et la valeur de retour de _wcsnset sont des chaînes de caractères larges. Les arguments de chaîne et la valeur de retour 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 ; s’il str s’agit d’un pointeur Null, le gestionnaire de paramètres non valide est appelé, comme décrit dans validation des paramètres. Si l'exécution est autorisée à continuer, _mbsnset retourne NULL et définit errno à 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. 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.

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
_tcsnset _strnset _mbsnbset _wcsnset
_tcsnset_l _strnset_l _mbsnbset_l _wcsnset_l

Spécifications

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 Compatibility.

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