Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_mbccpy_s, _mbccpy_s_l

Copie un caractère multi-octets d'une chaîne à une autre chaîne. Ces versions _mbccpy, _mbccpy_l présentent des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.

Remarque importante 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.

errno_t _mbccpy_s(
   unsigned char *dest,
   size_t buffSizeInBytes,
   int * pCopied,
   const unsigned char *src 
);
errno_t _mbccpy_s_l(
   unsigned char *dest,
   size_t buffSizeInBytes,
   int * pCopied,
   const unsigned char *src,
   locale_t locale
);
template <size_t size>
errno_t _mbccpy_s(
   unsigned char (&dest)[size],
   int * pCopied,
   const unsigned char *src 
); // C++ only
template <size_t size>
errno_t _mbccpy_s_l(
   unsigned char (&dest)[size],
   int * pCopied,
   const unsigned char *src,
   locale_t locale
); // C++ only

[out] dest

Destination de copie.

[in] buffSizeInBytes

Taille de la mémoire tampon de destination.

[out] pCopied

Rempli avec le nombre d'octets copiés (1 ou 2 si réussi). Passez NULL si vous ne vous inquiétez pas du nombre.

[in] src

Caractère multi-octets à copier.

[in] locale

Paramètres régionaux à utiliser.

Zéro si l'opération a réussi ; code d'erreur en cas de échec. Si src ou dest est NULL, ou si plus que buffSizeinBytes octets sont copiés vers dest, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction retourne EINVAL et errno est défini à EINVAL.

La fonction _mbccpy_s copie un caractère multi-octets depuis src vers dest. Si src ne pointe pas vers l'octet de tête d'un caractère multi-octets déterminé par un appel implicite à _ismbblead, l'octet unique sur lequel pointe src est copié. Si src pointe vers un octet de tête mais que l'octet suivant est 0 donc invalide, alors 0 est copié vers dest, errno a la valeur EILSEQ, et la fonction retourne EILSEQ.

_mbccpy_s n'ajoute pas de terminateur null ; Toutefois, si src pointe vers un caractère Null, ce null est copié vers dest (c'est simplement une copie normale d'un seul octet).

La valeur de pCopied est remplie avec le nombre d'octets copiés. Les valeurs possibles sont 1 et 2 si l'opération réussit. Si NULL est passé, ce paramètre est ignoré.

src

copié à dest

pCopied

Valeur de retour

pas un octet de tête

pas un octet de tête

1

0

0

0

1

0

octet de tête suivi de non-0

octet de tête suivi de non-0

2

0

octet de tête suivi de 0

0

1

EILSEQ

Notez que la deuxième ligne est simplement un cas particulier de la première Notez également que la table suppose buffSizeInBytes >= pCopied.

_mbccpy_s utilise les paramètres régionaux courants pour tout comportement dépendant des paramètres régionaux. _mbccpy_s_l est identique à _mbccpy_s sauf que _mbccpy_s_l utilise les paramètres régionaux qui lui sont passés pour tout comportement dépendant des paramètres régionaux.

En C++, l'utilisation de ces fonctions est simplifiée par des surcharges de modèle ; les surcharges peuvent également déduire la longueur de la mémoire tampon automatiquement, en éliminant le besoin de spécifier un argument de taille. 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

_tccpy_s

Mappe à la macro ou à la fonction inline

_mbccpy_s

Mappe à la macro ou à la fonction inline

Routine

En-tête requis

_mbccpy_s

<mbstring.h>

_mbccpy_s_l

<mbstring.h>

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

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft