_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 en CRT.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles 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 terminada en null de destino de multibyte- carácter.

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

  • src
    Cadena terminada en null de origen de multibyte- carácter.

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

  • locale
    Configuración regional a utilizar.

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 utiliza el error, la función devuelve EINVAL y establece errno a 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.Si no, byte inicial de src sobrescribe el carácter null 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, la longitud de src se utiliza en lugar de count.La cadena resultante es cancelada por un carácter null.Si la copia tiene lugar entre cadenas superpuestas, el comportamiento es indefinido.

El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; vea setlocale, _wsetlocale para obtener más información.Las versiones de estas funciones son idénticas, excepto en que las que no tienen el uso del sufijo de _l la configuración regional actual y las que tienen el sufijo de _l en su lugar utilice 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 de seguridad.

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

Asignaciones de la rutina de Genérico- texto

Rutina de 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, utilice 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