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