_mbsnbcat_s, _mbsnbcat_s_l

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Ajoute à une chaîne de caractères multioctets, au plus, les n premiers octets d'une autre chaîne de caractères multioctets. Voici les versions de _mbsnbcat, _mbsnbcat_l qui ont des améliorations de sécurité, comme décrit dans fonctionnalités de sécurité de la bibliothèque CRT.

System_CAPS_ICON_important.jpg 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 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.

Zéro en cas de réussite ; code d'erreur dans un autre cas.

Conditions d’erreur

DestsizeInBytessrcValeur de retour
NULLanyanyEINVAL
Any<= 0anyEINVAL
AnyanyNULLEINVAL

Si une des conditions d’erreur se produit, 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, la fonction retourne EINVAL et attribue à errno la valeur EINVAL.

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 dans dest est un octet de tête, 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 sortie est affectée par la définition de la LC_CTYPE catégorie de paramètres régionaux ; consultez setlocale, _wsetlocale pour plus d’informations. 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 la longueur de la mémoire tampon automatiquement, ce qui évite ainsi d’avoir à spécifier un argument de taille, et elles peuvent utiliser automatiquement leurs fonctions plus récentes et plus sécurisées en remplacement des fonctions plus anciennes, moins sécurisées. Pour plus d'informations, consultez Secure Template Overloads.

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
_tcsncatstrncnt_mbsnbcat_swcsncat
_tcsncat_s_l_strncat_s_l_mbsnbcat_s_l_wcsncat_s_l
RoutineEn-tête requis
_mbsnbcat_s<mbstring.h>
_mbsnbcat_s_l<mbstring.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

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

Manipulation de chaînes
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbcpy_s, _mbsnbcpy_s_l
_mbsnbset, _mbsnbset_l
strncnt, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l

Afficher: