_strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Définit les caractères d’une chaîne de caractères. Ces versions de _strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l ont des améliorations de sécurité, comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

System_CAPS_ICON_important.jpg Important

_mbsset_s et _mbsset_s_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 avec /ZW.

errno_t _strset_s(  
   char *str,  
   size_t numberOfElements,  
   int c   
);  
errno_t _strset_s_l(  
   char *str,  
   size_t numberOfElements,  
   int c,  
   locale_t locale  
);  
errno_t _wcsset_s(  
   wchar_t *str,  
   size_t numberOfElements,  
   wchar_t c   
);  
errno_t *_wcsset_s_l(  
   wchar_t *str,  
   size_t numberOfElements,  
   wchar_t c,  
   locale_t locale  
);  
errno_t _mbsset_s(  
   unsigned char *str,  
   size_t numberOfElements,  
   unsigned int c   
);  
errno_t _mbsset_s_l(  
   unsigned char *str,  
   size_t numberOfElements,  
   unsigned int c,  
   _locale_t locale  
);  

Paramètres

str
Chaîne terminée par null à définir.

numberOfElements
La taille de la str mémoire tampon.

c
Paramètre de caractère.

locale
Paramètres régionaux à utiliser.

Zéro en cas de réussite, sinon un code d’erreur.

Ces fonctions valident leurs arguments. Si str est un pointeur null, ou la numberOfElements argument est inférieur ou égal à 0, ou le bloc passé n’est pas nul, puis le Gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent EINVAL et définissent errno avec la valeur EINVAL.

Le _strset_s fonction affecte tous les caractères de str à c (converti en char), à l’exception du caractère null de fin. _wcsset_s et _mbsset_s sont des versions à caractères larges et à caractères multioctets de _strset_s. Les types de données des arguments et valeurs de retour varient en conséquence. Ces fonctions se comportent sinon de façon identique.

La valeur de sortie est affectée par la définition de la LC_CTYPE catégorie de 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 transmis. Pour plus d’informations, consultez Locale.

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

Mappages de routines de texte générique

Routine TCHAR.H_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tcsset_s_strset_s_mbsset_s_wcsset_s
_tcsset_s_l_strset_s_l_mbsset_s_l_wcsset_s_l
RoutineEn-tête requis
_strset_s<string.h>
_strset_s_l<tchar.h>
_wcsset_s<string.h> ou <wchar.h>
_wcsset_s_l<tchar.h>
_mbsset_s, _mbsset_s_l<mbstring.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.

// crt_strset_s.c  
#include <string.h>  
#include <stdio.h>  
#include <stdlib.h>  
  
int main( void )  
{  
   char string[] = "Fill the string with something.";  
   printf( "Before: %s\n", string );  
   _strset_s( string, _countof(string), '*' );  
   printf( "After:  %s\n", string );  
}  

Before: Fill the string with something.  
After:  *******************************  

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Manipulation de chaînes
Paramètres régionaux
Interprétation des séquences de caractères multioctets
_mbsnbset, _mbsnbset_l
memset, wmemset
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

Afficher: