Compartir a través de


_mbsnbcat, _mbsnbcat_l

Anexa, como máximo, los primeros n bytes de una cadena de caracteres multibyte en otra. Hay disponibles versiones más seguras de estas funciones; consulte _mbsnbcat_s, _mbsnbcat_s_l.

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 en aplicaciones de la Plataforma universal de Windows.

Sintaxis

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

Parámetros

dest
Cadena de destino de caracteres multibyte terminada en NULL.

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

_mbsnbcat devuelve un puntero a la cadena de destino. No se reserva ningún valor devuelto para indicar un error.

Comentarios

La función _mbsnbcat anexa, como máximo, los primeros count bytes de src a dest. Si el byte que precede inmediatamente al carácter nulo en dest es un byte inicial, byte inicial de src sobrescribe este byte inicial. De lo contrario, el byte inicial de src sobrescribe el carácter nulo de terminación de dest. Si hay un byte nulo en src antes de que se anexen count bytes, _mbsnbcat anexa todos los bytes de src, hasta el carácter nulo. Si count es mayor que la longitud de src, se usa la longitud de src en lugar de count. La cadena resultante se termina con un carácter nulo. 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. Para obtener más información, vea setlocale. La versión _mbsnbcat de esta función usa la configuración regional actual de su comportamiento dependiente de la configuración regional; la versión _mbsnbcat_l es idéntica, salvo que usa el parámetro de configuración regional que se pasa. Para obtener más información, vea Locale.

Nota de seguridad Use una cadena terminada en un valor nulo. El tamaño de la cadena terminada en un valor nulo no debe ser mayor que el del búfer de destino. Para obtener más información, consulte Evitar saturaciones de búfer.

Si dest o src es NULL, la función generará un error de parámetro no válido, como se describe en Validación de parámetros. Si se controla el error, la función devuelve EINVAL y establece errno en EINVAL.

En C++, estas funciones tienen sobrecargas de plantilla que invocan los homólogos seguros más recientes de estas funciones. Para obtener más información, consulte Sobrecargas de plantillas seguras.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina Tchar.h _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcsncat strncat _mbsnbcat wcsncat
_tcsncat_l _strncat_l _mbsnbcat_l _wcsncat_l

Requisitos

Routine Encabezado necesario
_mbsnbcat <mbstring.h>
_mbsnbcat_l <mbstring.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Consulte también

Manipulación de cadenas
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbicmp, _mbsnbicmp_l
_mbsnbset, _mbsnbset_l
strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l
_mbsnbcat_s, _mbsnbcat_s_l