Partager via


_mbsnbset, _mbsnbset_l

Définissez les premiers octets d' n d'une chaîne de caractères multioctets à un caractère spécifié.Les versions sécurisées de ces fonctions sont disponibles ; consultez _mbsnbset_s, _mbsnbset_s_l.

Important

Cette API ne peut pas être utilisée 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.

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
    Configuration codée sur un octet ou à caractères multioctets.

  • count
    Nombre d'octets à définir.

  • locale
    Paramètres régionaux à utiliser.

Valeur de retour

_mbsnbset retourne un pointeur vers une chaîne modifiée.

Notes

Les fonctions d' _mbsnbset et d' _mbsnbset_l définissent, au plus, les premiers octets d' count d' str à c.Si count est supérieur à la longueur d' str, la longueur d' str est utilisée au lieu d' count.Si c est un caractère multioctet et ne peut pas être définie complètement dans le dernier octet spécifié par count, le dernier octet est rempli avec un espace._mbsnbset et _mbsnbset_ln'affecte pas la valeur null de fin à la fin de str.

_mbsnbset et _mbsnbset_lest semblable à _mbsnset, mais il définit des octets d' count plutôt que des caractères d' count d' c.

Si str est NULL ou count est zéro, cette fonction génère une exception de paramètre non valide comme décrit dans Validation des paramètres.Si est autorisé à l'exécution pour continuer, errno a la valeur EINVAL et la fonction retourne NULL.En outre, 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 configuration de la définition de catégorie d' LC_CTYPE des paramètres régionaux ; consultez l' setlocale pour plus d'informations.La version d' _mbsnbset de cette fonction utilise les paramètres régionaux définis pour ce comportement dépendant des paramètres régionaux ; la version d' _mbsnbset_l est identique à la différence qu'il utilisation que le paramètre de paramètres régionaux est passée à la place.Pour plus d'informations, consultez Paramètres régionaux.

Remarque sur la sécurité cette API entraîne un risque potentiel provoqué par un dépassement de mémoire tampon.Les dépassements de mémoire tampon sont une méthode fréquente d'attaque de système, ce qui provoque une élévation de privilège injustifiée.Pour plus d'informations, consultez l' Solutions contre les dépassements de mémoire tampon.

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

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Configuration requise

Routine

En-tête requis

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

Pour plus d'informations de compatibilité, consultez l' Compatibilité dans l'introduction.

Exemple

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

Sortie

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

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' Exemples d'appel de code non managé.

Voir aussi

Référence

Manipulation de chaînes (CRT)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l