Partager via


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

Équivalent .NET Framework

System::String::Replace

Voir aussi

Référence

Manipulation de chaînes (CRT)

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