_mbsnbcat_s, _mbsnbcat_s_l
Ajoute une chaîne de caractères multioctets, au plus, les premiers octets de n d'une autre chaîne de caractères multi-octets. Il s'agit de versions de _mbsnbcat, _mbsnbcat_l avec des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.
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 _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 null.sizeInBytes
Taille de la mémoire tampon dest en octets.src
Chaîne source à caractères multioctets se terminant par null.Count
Nombre d'octets de src à ajouter à dest.locale
Paramètres régionaux à utiliser.
Valeur de retour
Zéro dans le cas d'une opération réussie, sinon affiche un code d'erreur.
Conditions d'erreur
Dest |
sizeInBytes |
src |
Valeur de retour |
---|---|---|---|
NULL |
any |
any |
EINVAL |
Any |
<= 0 |
any |
EINVAL |
Any |
any |
NULL |
EINVAL |
Si la moindre condition d'erreur apparaît, la fonction génère une erreur de paramètre non valide, comme décrit dans Validation de paramètre. Si l'erreur est gérée, cette fonction retourne EINVAL et affecte errno à EINVAL.
Notes
La fonction _mbsnbcat_s ajoute dest, au plus, les premiers count octets de src. Si l'octet qui précède immédiatement le caractère null dest est un octet de tête, l'octet initial de src remplace cet octet de tête. Sinon, l'octet initial de src remplace le caractère null de fin de dest. Si un octet Null apparaît dans src avant que des octets count soient ajoutés, __mbsnbcat_s ajoute tous les octets de src, jusqu'au caractère Null. Si count est supérieur à la longueur de src, la longueur de src est utilisée au lieu de count. La chaîne résultante est terminée 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 ; 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.
En C++, l'utilisation de ces fonctions est simplifiée par les surcharges de modèle ; les surcharges peuvent déduire la longueur de la mémoire tampon automatiquement (ce qui évite d'avoir à spécifier un argument taille) et peuvent remplacer automatiquement les fonctions plus anciennes et non sécurisées par leurs équivalentes plus récentes et sécurisées. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.
Les versions debug de ces fonctions remplissent d'abord la mémoire tampon avec 0xFD. Pour désactiver ce comportement, utilisez _CrtSetDebugFillThreshold.
Mappages de routines de texte générique
Routine Tchar.h |
_UNICODE et _MBCS non définis |
_MBCS défini |
_UNICODE défini |
---|---|---|---|
_tcsncat |
_mbsnbcat_s |
||
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
Configuration requise
Routine |
En-tête requis |
---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_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
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l