Partager via


_mbsnbcat, _mbsnbcat_l

Ajoute, au plus, le premier n octets d’une chaîne de caractères multioctets à une autre. Des versions plus sécurisées de ces fonctions sont disponibles. Consultez _mbsnbcat_s, _mbsnbcat_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 dans les applications de la plateforme Windows universelle.

Syntaxe

unsigned char *_mbsnbcat(
   unsigned char *dest,
   const unsigned char *src,
   size_t count
);
unsigned char *_mbsnbcat_l(
   unsigned char *dest,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char *_mbsnbcat(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count
); // C++ only
template <size_t size>
unsigned char *_mbsnbcat_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.

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

_mbsnbcat retourne un pointeur désignant la chaîne de destination. Aucune valeur de retour n'est réservée pour indiquer une erreur.

Notes

La fonction _mbsnbcat ajoute, au plus, les count premiers octets de src à dest. Si l’octet qui précède immédiatement le caractère Null dans dest est un octet de tête, l’octet initial de src remplace cet octet de tête. 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 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. La version _mbsnbcat de la fonction utilise les paramètres régionaux actuels pour ce comportement dépendant des paramètres régionaux ; la version _mbsnbcat_l est identique, à ceci près qu’elle utilise à la place les paramètres régionaux passés. Pour plus d’informations, consultez Locale.

Remarque relative à la sécurité Utilisez une chaîne se terminant par un caractère Null. La chaîne ne doit pas dépasser la taille de la mémoire tampon de destination. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Si dest ou src est NULL, 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.

En C++, ces fonctions ont des surcharges de modèle qui appellent les équivalents plus récents et sécurisés de ces fonctions. Pour plus d'informations, consultez Sécuriser les surcharges de modèle.

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 strncat _mbsnbcat wcsncat
_tcsncat_l _strncat_l _mbsnbcat_l _wcsncat_l

Spécifications

Routine En-tête requis
_mbsnbcat <mbstring.h>
_mbsnbcat_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
_mbsnbicmp, _mbsnbicmp_l
_mbsnbset, _mbsnbset_l
strncat, , _strncat_l, _wcsncat_lwcsncat, , _mbsncat_mbsncat_l
_mbsnbcat_s, _mbsnbcat_s_l