Partager via


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Initialisez les caractères d'une chaîne à un caractère donné.Ce sont des versions de _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l avec des améliorations de sécurité comme décrit dans Fonctionnalités de sécurité du CRT.

Important

_mbsnset_s et _mbsnset_s_l ne peuvent pas être utilisés dans les applications qui s'exécutent dans les fenêtres d'exécution.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

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
    La taille de la mémoire tampon d' str .

  • c
    Configuration de caractère.

  • count
    Nombre de caractères à définir.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

Zéro si l'opération a réussi, sinon code d'erreur.

Ces fonctions valident leurs arguments.Si str n'est pas une chaîne terminée par le caractère NULL valide ou l'argument de taille est inférieure ou égale à 0, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, ces fonctions retournent un code d'erreur et un ensemble errno à ce code d'erreur.Code d'erreur par défaut est EINVAL si plus de valeur spécifique ne s'applique pas.

Notes

Ces fonctions ont défini, au plus, les premiers caractères d' count d' str à c.Si count est supérieure à la taille d' str, la taille d' str est utilisée au lieu d' count.Une erreur se produit si count est supérieur numberOfElements et ces deux paramètres sont supérieure à la taille d' str.

_wcsnset_s et _mbsnset_ssont à caractères larges et des versions à caractères multioctets d' _strnset_s.L'argument de chaîne d' _wcsnset_s est une chaîne à caractères larges ; ce d' _mbsnset_s est une chaîne de caractères multioctets d'.Ces trois fonctions se comportent de sinon.

La valeur de sortie est affectée par la configuration de la définition de catégorie d' LC_CTYPEdes paramètres régionaux ; consultez l' setlocale pour plus d'informations.Les versions de ces fonctions sans suffixe d' _l utilisent les paramètres régionaux définis pour ce comportement dépendant des paramètres régionaux ; les versions avec le suffixe d'_l sont identiques sauf qu'elles utilisent le paramètre de paramètres régionaux passé à la place.Pour plus d'informations, consultez Paramètres régionaux.

Les versions debug de ces fonctions exécutent d'abord mémoire tampon de 0xFD.Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold.

Mappages de routines de texte générique

Routine de TCHAR.H

_UNICODE et non définis _MBCS

_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

Configuration requise

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 des informations de compatibilité supplémentaires, consultez l' Compatibilité dans l'introduction.

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

É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