_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 del 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 plantilla 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