Nous recommandons d’utiliser Visual Studio 2017

_mbsnbset, _mbsnbset_l

 

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

Attribue aux n premiers octets d'une chaîne de caractères multioctets un caractère spécifié. Des versions plus sécurisées de ces fonctions sont disponibles. consultez la page _mbsnbset_s, _mbsnbset_s_l.

System_CAPS_ICON_important.jpg Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans le Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge avec /ZW.

unsigned char *_mbsnbset(  
   unsigned char *str,  
   unsigned int c,  
   size_t count   
);  
unsigned char *_mbsnbset_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 codé sur un octet ou multioctet.

count
Nombre d'octets à définir.

locale
Paramètres régionaux à utiliser.

_mbsnbsetRetourne un pointeur vers la chaîne modifiée.

Les fonctions _mbsnbset et _mbsnbset_l attribuent, au plus, aux count premiers octets de str la valeur c. Si la valeur count est supérieure à la longueur de str, la longueur de str est utilisée à la place de count. Si c est un caractère multioctet et ne peut pas être entièrement dans le dernier octet spécifié par count, le dernier octet est complété par un caractère vide. _mbsnbsetet _mbsnbset_lne place pas une fin null à la fin de str.

_mbsnbsetet _mbsnbset_lest similaire à _mbsnset, sauf qu’il définit count octets au lieu de count caractères de c.

Si str est NULL ou count est égal à zéro, cette fonction génère une exception de paramètre non valide, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, errno a la valeur EINVAL et la fonction retourne une valeur NULL. De même, si c n'est pas un caractère multioctet valide, errno a la valeur EINVAL et un espace est utilisé à la place.

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. Le _mbsnbset version de cette fonction utilise les paramètres régionaux actuels pour ce comportement dépendant des paramètres régionaux ; la _mbsnbset_l version est identique, sauf qu’elle utilise les paramètres régionaux passés à la place. Pour plus d’informations, consultez Locale.

Note de sécurité cette API entraîne une menace potentielle liée à un problème de saturation de mémoire tampon. Les dépassements de mémoire tampon sont une méthode fréquente d'attaque du système, ce qui provoque une élévation des privilèges injustifiée. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Mappages de routines de texte générique

Routine Tchar.h_UNICODE et _MBCS non définis_MBCS défini_UNICODE défini
_tcsnset_strnset_mbsnbset_wcsnset
_tcsnset_l_strnset_l_mbsnbset_l_wcsnset_l
RoutineEn-tête requis
_mbsnbset<mbstring.h>
_mbsnbset_l<mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

// crt_mbsnbset.c  
// compile with: /W3  
#include <mbstring.h>  
#include <stdio.h>  
  
int main( void )  
{  
   char string[15] = "This is a test";  
   /* Set not more than 4 bytes of string to be *'s */  
   printf( "Before: %s\n", string );  
   _mbsnbset( string, '*', 4 ); // C4996  
   // Note; _mbsnbset is deprecated; consider _mbsnbset_s  
   printf( "After:  %s\n", string );  
}  

Before: This is a test  
After:  **** is a test  

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

Manipulation de chaînes
_mbsnbcat, _mbsnbcat_l
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l
_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

Afficher: