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; consultez _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 avec /ZW.

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 pour 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 de retour

_mbsnbcpyretourne un pointeur vers 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 des octets count depuis strSource vers strDest. Si count dépasse la taille de strDest ou si les chaînes de destination se chevauchent, le comportement de _mbsnbcpy n'est pas défini.

Si strSource ou strDest est un pointeur null, cette fonction invoque le gestionnaire de paramètres non valides, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, la fonction retourne NULL et définit errno à la valeur 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 ; consultez setlocale, _wsetlocale pour plus d'informations. Les versions des fonctions sont identiques, sauf pour celles qui ne disposent pas du suffixe _l qui utilisent les version régionales, et celles qui n'ont pas le suffix _l utilisent le paramètre local passé à la place. Pour plus d'informations, consultez Paramètres régionaux.

Note de sécuritéNote de sécurité

Ces fonctions peuvent être vulnérables aux menaces de dépassement de mémoire tampon.Des dépassements de mémoire tampon peuvent être utilisés pour exécuter du code arbitraire d'intrus, ce qui peut provoquer une élévation de privilège 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.

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

Configuration requise

Routine

En-tête requis

_mbsnbcpy

<mbstring.h>

_mbsnbcpy_l

<mbstring.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

Équivalent .NET Framework

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

Voir aussi

Référence

Manipulation de chaînes (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbset, _mbsnbset_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l