_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.
Importante |
---|
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 |
_mbsnbcat_s |
||
_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
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_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