Partager via


_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

strncat

_mbsnbcat_s

wcsncat

_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

Manipulation de chaînes (CRT)

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbcpy, _mbsnbcpy_l

_mbsnbcpy_s, _mbsnbcpy_s_l

_mbsnbset, _mbsnbset_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