_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 |
_mbsnbcpy |
||
_tcsncpy_l |
_strncpy_l |
_mbsnbcp_l |
_wcsncpy_l |
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_mbsnbcpy |
<mbstring.h> |
_mbsnbcpy_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.
См. также
Ссылки
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l