Поделиться через


_mbsnbcpy, _mbsnbcpy_l

Копирует n байт строки в строку назначения. Существуют более безопасные версии этих функций, см. раздел _mbsnbcpy_s, _mbsnbcpy_s_l.

Важно!

Этот API не может использоваться в приложениях, выполняемых в Среда выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.

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

Параметры

  • strDest
    Назначение для копирования символьной строки.

  • strSource
    Копируемая строка символов.

  • count
    Число байтов для копирования.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

_mbsnbcpy возвращает указатель на строку назначения. Нет зарезервированных возвращаемых значений для указания ошибки.

Заметки

Функция _mbsnbcpy копирует count байт из strSource в strDest. Если count превышает размер strDest или строки источника и назначения перекрываются, поведение _mbsnbcpy не определено.

Если strSource или strDest является указателем null, то функция вызывает обработчик недопустимого параметра, как описано в Проверка параметров. Если выполнение разрешено для продолжить, функция возвращает NULL и задает errno в EINVAL.

Выходное значение зависит от настройки категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale, _wsetlocale. Версии этих функций с суффиксом _l идентичны версиям без суффикса, за исключением того, что версии с суффиксом _l используют переданный параметр языкового стандарта вместо текущего языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.

Примечание о безопасностиПримечание по безопасности

Эти функции могут быть подвержены угрозам переполнения буфера.Переполнение буфера может быть использовано для выполнения произвольного атакующего кода, что может привести к произвольному повышению прав доступа и представлять угрозу для системы.Дополнительные сведения см. в разделе Как избежать переполнения буфера.

В C++ эти функции имеют шаблонные перегрузки, которые вызывают более новые и безопасные аналоги этих функций. Дополнительные сведения см. в разделе Безопасные перегрузки шаблонов.

Универсальное текстовое сопоставление функций

Подпрограмма Tchar.h

_UNICODE и _MBCS не определены

_MBCS определено

_UNICODE определено

_tcsncpy

strncpy

_mbsnbcpy

wcsncpy

_tcsncpy_l

_strncpy_l

_mbsnbcp_l

_wcsncpy_l

Требования

Подпрограмма

Обязательный заголовок

_mbsnbcpy

<mbstring.h>

_mbsnbcpy_l

<mbstring.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.

См. также

Ссылки

Управление строками (CRT)

_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