Compartir a través de


_mbsnbcpy, _mbsnbcpy_l

Copia n bytes de una cadena a una cadena de destino. Hay disponibles versiones más seguras de estas funciones: vea _mbsnbcpy_s, _mbsnbcpy_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 * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

Parámetros

strDest
Destino de la cadena de caracteres que se va a copiar.

strSource
Cadena de caracteres que se va a copiar.

count
Número de bytes que se van a copiar.

locale
Configuración regional que se va a usar.

Valor devuelto

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

Comentarios

La función _mbsnbcpy copia count bytes de strSource en strDest. Si el tamaño de count es mayor que strDest, o bien si las cadenas de origen y de destino se superponen, el comportamiento de _mbsnbcpy no está definido.

Si strSource o strDest es un puntero nulo, esta función invoca al controlador de parámetros no válidos, tal como se describe en Validación de parámetros. Si la ejecución puede continuar, la función devuelve NULL y establece en errno en EINVAL.

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. Las versiones de estas funciones son idénticas, salvo que las que no tienen el _l sufijo usan la configuración regional actual y las versiones que tienen el _l sufijo en su lugar usan el parámetro de configuración regional que se pasa. Para obtener más información, vea Locale.

Importante

Estas funciones pueden ser vulnerables a amenazas de saturación del búfer. Las saturaciones del búfer pueden utilizarse para ejecutar código atacante arbitrario, lo que puede producir una elevación de privilegios ilícita y poner en peligro el sistema. Para obtener más información, consulte Evitar saturaciones de búfer.

En C++, estas funciones tienen sobrecargas de plantilla que invocan a los homólogos más recientes y seguros de dichas 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
_tcsncpy strncpy _mbsnbcpy wcsncpy
_tcsncpy_l _strncpy_l _mbsnbcp_l _wcsncpy_l

Requisitos

Routine Encabezado necesario
_mbsnbcpy <mbstring.h>
_mbsnbcpy_l <mbstring.h>

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

Consulte también

Manipulación de cadenas
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbset, _mbsnbset_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l