Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l
and
div
eof
not
or
xor
Collapse the table of content
Expand the table of content
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Initialise les caractères d'une chaîne en un caractère donné. Ces versions _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l présentent des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.

Remarque importante Important

_mbsnset_s et _mbsnset_s_l ne peuvent pas être utilisées dans les applications qui s'exécutent dans le Windows Runtime. 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
);

str

Chaîne à modifier.

numberOfElements

Taille de la mémoire tampon str.

c

Paramètre de caractère.

count

Nombre de caractères à définir.

locale

Paramètres régionaux à utiliser.

Zéro dans le cas d'une opération réussie, sinon affiche un code d'erreur.

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

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

_wcsnset_s et _mbsnset_s sont des versions à caractères larges et à caractères multi-octets de _strnset_s. The string argument of _wcsnset_s is a wide-character string; that of _mbsnset_s is amultibyte-character string. Ces trois fonctions se comportent sinon de façon identique.

The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. 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.

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 & _MBCS non définis

_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

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 plus d'informations sur la compatibilité, consultez Compatibilité.

// 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 );
}
Avant: il s'agit d'un test.
Ensuite : **** est un test
Afficher:
© 2015 Microsoft