_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
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l