Partager via


_strnset, _strnset_l, _wcsnset, _wcsnset_l, _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 sont _wcsnset des chaînes à caractères larges. Les arguments de chaîne et la valeur de retour sont _mbsnset 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 sortie est affectée par le paramètre de 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 routine de texte générique

Routine TCHAR.H _UNICODE et _MBCS non défini _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îne
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, _wcsset_l, _mbsset, _mbsset_l