_mbsnbcat_s, _mbsnbcat_s_l

Anexa una cadena de caracteres multibyte, como máximo, los primeros bytes de n de otra cadena de multibyte- carácter. Estas son las versiones de _mbsnbcat, _mbsnbcat_l que tienen mejoras de seguridad, como se describe en Características de seguridad de CRT.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones de CRT no admitidas con /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

Parámetros

  • dest
    Cadena de destino de caracteres multibyte terminada en NULL.

  • sizeInBytes
    Tamaño del búfer de dest en bytes.

  • src
    Cadena de origen de caracteres multibyte terminada en NULL.

  • Count
    Número de bytes de src que se van a anexar a dest.

  • locale
    Configuración regional que se va a usar.

Valor devuelto

Cero si correctamente; si no, un código de error.

Condiciones de error

Dest

sizeInBytes

src

Valor devuelto

NULL

any

any

EINVAL

Cualquiera

<= 0

any

EINVAL

Cualquiera

any

NULL

EINVAL

Si las condiciones de error cualquiera de los aparecen, la función genera un error no válido de parámetro, tal y como se describe en Validación de parámetros. Si se controla el error, la función devuelve EINVAL y establece errno en EINVAL.

Comentarios

La función de _mbsnbcat_s anexa a dest, como máximo, los primeros bytes de count de src. Si el byte que inmediatamente delante del carácter null en dest es un byte inicial, se sobrescribe con el byte inicial de src. De lo contrario, el byte inicial de src sobrescribe el carácter nulo de terminación de dest. Si un byte null aparece en src antes de que se anexen los bytes de count , _mbsnbcat_s anexa todos los bytes de src, hasta el carácter null. Si count es mayor que la longitud de src, se usa la longitud de src en lugar de count. La cadena resultante es cancelada por un carácter null. Si la copia tiene lugar entre cadenas que se superponen, el comportamiento es indefinido.

El valor de salida se ve afectado por el valor de la categoría LC_CTYPE de la configuración regional; vea setlocale, _wsetlocale para obtener más información. Las versiones de estas funciones son idénticas, salvo que las que no tienen el sufijo _l usan la configuración regional actual y las que tienen el sufijo _l usan el parámetro de configuración regional que se pasa. Para obtener más información, vea Configuración regional.

En C++, el uso de estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir longitud de búfer automáticamente y por tanto eliminar la necesidad de especificar un argumento size, y pueden utilizar automáticamente las nuevas, más seguras funciones para reemplazar anterior, funciones de menos- Secure. Para obtener más información, vea Sobrecargas de plantilla seguras.

Las versiones de depuración de estas funciones rellenan primero el búfer con 0xFD. Para deshabilitar este comportamiento, use _CrtSetDebugFillThreshold.

Asignaciones de rutina de texto genérico

Rutina Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsncat

strncat

_mbsnbcat_s

wcsncat

_tcsncat_s_l

_strncat_s_l

_mbsnbcat_s_l

_wcsncat_s_l

Requisitos

Rutina

Encabezado necesario

_mbsnbcat_s

<mbstring.h>

_mbsnbcat_s_l

<mbstring.h>

Para obtener más información de compatibilidad, vea Compatibilidad.

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Manipulación de cadenas (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