Partager via


_mbsnbcpy, _mbsnbcpy_l

Copie n octets d’une chaîne vers une chaîne de destination. Des versions plus sécurisées de ces fonctions sont disponibles : voir _mbsnbcpy_s, _mbsnbcpy_s_l.

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 dans les applications de la plateforme Windows universelle.

Syntaxe

unsigned char * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

Paramètres

strDest
Destination de la chaîne de caractères à copier.

strSource
Chaîne de caractères à copier.

count
Nombre d'octets à copier.

locale
Paramètres régionaux à utiliser.

Valeur retournée

_mbsnbcpy retourne un pointeur désignant la chaîne de caractères de destination. Aucune valeur de retour n'est réservée pour indiquer une erreur.

Notes

La fonction _mbsnbcpy copie count octets de strSource vers strDest. Si count est supérieur à la taille de strDest ou que les chaînes source et de destination se chevauchent, le comportement de _mbsnbcpy n'est pas défini.

Si strSource ou strDest est un pointeur Null, cette fonction appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à continuer, cette fonction retourne NULL et définit à errno à EINVAL.

La valeur de la sortie est affectée par la valeur du paramètre de la catégorie LC_CTYPE des paramètres régionaux. Pour plus d’informations, consultez setlocale. Les versions de ces fonctions sont identiques, sauf que celles qui n’ont pas le _l suffixe utilisent les paramètres régionaux actuels et les versions qui ont le suffixe à la _l place utilisent le paramètre de paramètres régionaux transmis. Pour plus d’informations, consultez Locale.

Important

Ces fonctions peuvent être vulnérables aux menaces de dépassement de mémoire tampon. Les dépassements de mémoire tampon peuvent servir à exécuter du code arbitraire émanant d'une personne malveillante, ce qui peut se traduire par une élévation de privilèges injustifiée et compromettre le système. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

En C++, ces fonctions ont des surcharges de modèle qui appellent les équivalents plus récents et plus sécurisés de ces fonctions. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Mappages de routines de texte générique

Routine Tchar.h _UNICODE et _MBCS non définis _MBCS défini _UNICODE défini
_tcsncpy strncpy _mbsnbcpy wcsncpy
_tcsncpy_l _strncpy_l _mbsnbcp_l _wcsncpy_l

Spécifications

Routine En-tête requis
_mbsnbcpy <mbstring.h>
_mbsnbcpy_l <mbstring.h>

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

Voir aussi

Manipulation de chaînes
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_strncnt, , _wcsncnt, _mbsnbcnt_l_mbsnbcnt, , _mbsnccnt_mbsnccnt_l
_mbsnbset, _mbsnbset_l
strncpy, , _strncpy_l, _wcsncpy_lwcsncpy, , _mbsncpy_mbsncpy_l