_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> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.