Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

_mbsnbcpy_s, _mbsnbcpy_s_l

Copia los bytes de n de una cadena en una cadena de destino. Éstas son versiones de _mbsnbcpy, _mbsnbcpy_l con mejoras de seguridad como se describe en Características de seguridad en CRT.

Nota importante Importante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows. Para obtener más información, vea Funciones CRT no compatibles con /ZW.

errno_t _mbsnbcpy_s(
   unsigned char * strDest,
   size_t sizeInBytes,
   const unsigned char * strSource,
   size_t count 
);
errno_t _mbsnbcpy_s_l(
   unsigned char * strDest,
   size_t sizeInBytes,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbcpy_s(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbcpy_s_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

strDest

Destino de cadena de caracteres se copie.

sizeInBytes

Tamaño de búfer de destino.

strSource

Cadena de caracteres que se van a copiar.

count

Número de bytes que se copiarán.

locale

Configuración regional a utilizar.

Cero si correctamente; EINVAL si un parámetro incorrecto se ha pasado.

La función de _mbsnbcpy_s copia los bytes de count de strSource a strDest. Si count supera el tamaño de strDest, o de las cadenas de entrada es un puntero NULL, o sizeInBytes o count es 0, la función invoca el controlador no válido del parámetro tal como se describe en Validación de parámetros. Si la ejecución puede continuar, la función devuelve EINVAL. Si las cadenas de origen y de destino se superponen, el comportamiento de _mbsnbcpy_s 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 para obtener más información. Las versiones de estas funciones sin el sufijo de _l utilizan la configuración regional actual para este comportamiento configuración regional-dependiente; las versiones con el sufijo de _l son idénticas salvo que utilizan el parámetro locale pasado en su lugar. Para obtener más información, vea Configuración regional.

Nota Nota

A diferencia de la versión de que Secure de esta función, _mbsnbcpy_s no tiene ningún relleno null y null termina siempre la cadena.

En C++, mediante estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir la longitud de búfer automáticamente (que elimina la necesidad de especificar un argumento de tamaño) y automáticamente pueden reemplazar anterior, funciones de no Secure con sus más recientes, seguros homólogos. 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

_tcsncpy_s

_strncpy_s

_mbsnbcpy_s

_wcsncpy_s

_tcsncpy_s_l

_strncpy_s_l

_mbsnbcpy_s_l

_wcsncpy_s_l

Rutina

Encabezado necesario

_mbsnbcpy_s

<mbstring.h>

_mbsnbcpy_s_l

<mbstring.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Mostrar: