_mbsnbcat_s
, _mbsnbcat_s_l
Ajoute à une chaîne de caractères multioctets, au plus, le premier n octets d’une autre chaîne de caractères multioctets. Ces fonctions sont des versions de , qui ont des améliorations de_mbsnbcat
sécurité, comme décrit dans les fonctionnalités de sécurité dans le CRT. _mbsnbcat_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
errno_t _mbsnbcat_s(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count
);
errno_t _mbsnbcat_s_l(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count,
_locale_t locale
); // C++ only
Paramètres
dest
Chaîne de destination à caractères multioctets se terminant par un caractère null.
sizeInBytes
Taille de la mémoire tampon dest
en octets.
src
Chaîne source à caractères multioctets se terminant par un caractère null.
count
Nombre d'octets de src
à ajouter à dest
.
locale
Paramètres régionaux à utiliser.
Valeur retournée
Zéro en cas de réussite ; code d'erreur dans un autre cas.
Conditions d’erreur
dest |
sizeInBytes |
src |
Valeur retournée |
---|---|---|---|
NULL |
n'importe laquelle | tous | EINVAL |
Quelconque | <= 0 | n'importe laquelle | EINVAL |
Quelconque | n'importe laquelle | NULL |
EINVAL |
Si l’une des conditions d’erreur se produit, la fonction génère une erreur de paramètre non valide, comme décrit dans la validation des paramètres. Si l'erreur est gérée, la fonction retourne EINVAL
et attribue à errno
la valeur EINVAL
.
Notes
La fonction _mbsnbcat_s
ajoute à dest
, au plus, les count
premiers octets de src
. Si l’octet qui précède immédiatement le caractère Null est dest
un octet de prospect, il est remplacé par l’octet initial de src
. Dans le cas contraire, l'octet initial de src
remplace le caractère null de fin de dest
. Si un octet null apparaît dans src
avant l'ajout de count
octets, _mbsnbcat_s
ajoute tous les octets de src
, jusqu'au caractère null. Si la valeur count
est supérieure à la longueur de src
, la longueur de src
est utilisée à la place de count
. La chaîne obtenue se termine par un caractère null. Si la copie se produit entre des chaînes qui se chevauchent, le comportement est indéfini.
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 suffixe _l
utilisent les paramètres régionaux actuels et celles qui ont le suffixe _l
utilisent à la place les paramètres régionaux qui ont été passés. Pour plus d’informations, consultez Locale.
En C++, l’utilisation de ces fonctions est simplifiée par les surcharges de modèle. Les surcharges peuvent déduire automatiquement la longueur de la mémoire tampon, ce qui élimine la nécessité de spécifier un argument de taille, et elles peuvent utiliser automatiquement les fonctions plus récentes et plus sécurisées pour remplacer les fonctions plus anciennes et moins sécurisées. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.
Les versions de bibliothèque de débogage de ces fonctions remplissent d’abord la mémoire tampon avec 0xFE. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold
.
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 |
---|---|---|---|
_tcsncat_s |
strncat_s |
_mbsnbcat_s |
wcsncat_s |
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
Spécifications
Routine | En-tête requis |
---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_l |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Voir aussi
Manipulation de chaînes
_mbsnbcmp
, _mbsnbcmp_l
_strncnt
, , _wcsncnt
, _mbsnbcnt_l
_mbsnbcnt
, , _mbsnccnt
_mbsnccnt_l
_mbsnbcpy
, _mbsnbcpy_l
_mbsnbcpy_s
, _mbsnbcpy_s_l
_mbsnbset
, _mbsnbset_l
strncat
, , _strncat_l
, _wcsncat_l
wcsncat
, , _mbsncat
_mbsncat_l
strncat_s
, , _strncat_s_l
, _wcsncat_s_l
wcsncat_s
, , _mbsncat_s
_mbsncat_s_l