_mbccpy_s, _mbccpy_s_l

Копирует один многобайтовых из одной строки в другую строку.Здесь представлены версии _mbccpy, _mbccpy_l с усовершенствованной безопасностью, как описано в разделе Средства безопасности в CRT.

Важное примечаниеВажно

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

errno_t _mbccpy_s(
   unsigned char *dest,
   size_t buffSizeInBytes,
   int * pCopied,
   const unsigned char *src 
);
errno_t _mbccpy_s_l(
   unsigned char *dest,
   size_t buffSizeInBytes,
   int * pCopied,
   const unsigned char *src,
   locale_t locale
);
template <size_t size>
errno_t _mbccpy_s(
   unsigned char (&dest)[size],
   int * pCopied,
   const unsigned char *src 
); // C++ only
template <size_t size>
errno_t _mbccpy_s_l(
   unsigned char (&dest)[size],
   int * pCopied,
   const unsigned char *src,
   locale_t locale
); // C++ only

Параметры

  • [исходящий] dest
    Скопируйте назначение.

  • [входящий] buffSizeInBytes
    Размер буфера назначения.

  • [исходящий] pCopied
    , Залитый копированное количество байтов (1 или 2 в случае успешного выполнения)).Передайте значение NULL, если не заботите о числа.

  • [входящий] src
    Многобайтовых, которые нужно скопировать.

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

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

Нуль, если успешно; код ошибки при неудаче.Если src или dest, или если NULL больше buffSizeinBytes байтов будут скопированы в dest, то обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Если среда выполнения может продолжить, функции возвращают EINVAL и errno имеют значение EINVAL.

Заметки

Функция _mbccpy_s копирует один многобайтовых из src в dest.Если src не указывает на старшему байту символов многобайтовой заданное неявных вызовом метода _ismbblead, то один байт, параметр src указывает на копируются.Если параметр src указывает на старшему байту только следующий байт 0 станут недопустимыми, 0 копируется в dest, параметр errno имеет значение EILSEQ, и функция возвращает значение EILSEQ.

_mbccpy_s не добавляет NULL терминатор; однако если src указывает на нулю-символу, этот NULL копирует значение dest (это просто обычной однобайтовое копирование).

Значение в pCopied заполняется с копированное число байтов.Возможные значения - 1 и 2, если операция выполнена успешно.Если передается в NULL, то этот параметр не учитывается.

src

скопированные в dest

pCopied

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

не-идея-байт

не-идея-байт

1

0

0

0

1

0

старший байт за non-0

старший байт за non-0

2

0

старший байт за 0

0

1

EILSEQ

Обратите внимание, что вторая строка только особый случай первого.Также обратите внимание, что таблица имеет >= pCopiedbuffSizeInBytes.

_mbccpy_s использует текущий языковой стандарт для любого расширения функциональности языкового стандарта, элемента.идентично _mbccpy_s_l в _mbccpy_s, за исключением того, что _mbccpy_s_l использует языковой стандарт, в для любого расширения функциональности языкового стандарта, элемента.

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

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

Подпрограмма TCHAR.H

Не указаны _UNICODE и _MBCS

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

Определение _UNICODE

_tccpy_s

Сопоставления макросу или встроенной функции.

_mbccpy_s

Сопоставления макросу или встроенной функции.

Требования

Функция

Требуемый заголовок

_mbccpy_s

<mbstring.h>

_mbccpy_s_l

<mbstring.h>

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

См. также

Ссылки

Языковой стандарт

Интерпретация последовательностей многобайтового символов

_mbclen, mblen, _mblen_l