_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_l
wcsncpy
, , _mbsncpy
_mbsncpy_l