다음을 통해 공유


_mbccpy_s, _mbccpy_s_l

멀티 바이트 문자 하나 하나의 문자열을 다른 문자열에 복사합니다.이러한 버전의 수 _mbccpy, _mbccpy_l 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.

중요중요

이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수.

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

매개 변수

  • [out] dest
    대상으로 복사 합니다.

  • [in] buffSizeInBytes
    대상 버퍼의 크기입니다.

  • [out] pCopied
    바이트 복사 (1 또는 2를 성공적으로 수행 하는 경우) 번호를 입력 합니다.전달 NULL 번호에 대 한 상관 하지 않는 경우.

  • [in] src
    멀티 바이트 문자 복사 합니다.

  • [in] locale
    사용 하는 로캘.

반환 값

성공 하는 경우에 0입니다. 실패 시 오류 코드입니다.경우 src 또는 dest 는 NULL, 또는 둘 이상의 buffSizeinBytes 바이트를 복사 합니다 dest에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 하 고 매개 변수 유효성 검사.실행을 계속 하도록 허용 된 경우에 함수 반환 EINVAL 및 errno 로 설정 된 EINVAL.

설명

_mbccpy_s 함수에서 하나의 멀티 바이트 문자 복사 src 에 dest.경우 src 따라 암시적으로 호출 하 여 멀티 바이트 문자의 선행 바이트를 가리키지 않는 _ismbblead, 다음은 단일 바이트는 src 지점으로 복사 됩니다.경우 src 선행 바이트 있지만 다음 바이트를 가리키는 0 및 따라서 잘못 된 다음 0 복사 dest, errno 로 설정 된 EILSEQ, 함수를 반환 하 고 EILSEQ.

_mbccpy_snull 종결자를 추가 하지 않습니다. 그러나 경우 src 해당 null 복사 되 고 하는 null 문자를 가리키는 dest (일반 단일 바이트 복사본 뿐입니다).

값을 pCopied 복사 되는 바이트 수를 입력 합니다.작업에 성공 하면 가능한 값은 1과 2입니다.경우 NULL 전달 되어,이 매개 변수는 무시 됩니다.

src

복사dest

pCopied

반환 값

선행 바이트

선행 바이트

1

0

0

0

1

0

선행 바이트 비 0으로 뒤에

선행 바이트 비 0으로 뒤에

2

0

선행 바이트 다음에 0으로

0

1

EILSEQ

두 번째 행 첫 번째 특수 한 경우만 되었음.테이블을 가정 하는 참고도 buffSizeInBytes > = pCopied.

_mbccpy_s현재 로케일에 대 한 모든 로캘별 동작을 사용합니다._mbccpy_s_l동일한 _mbccpy_s 제외 하 고 _mbccpy_s_l 모든 로캘 종속 동작에 대해 전달 된 로캘을 사용 하 여.

C + +에서는 이러한 함수를 사용 하 여 템플릿 오버 로드에 의해 단순화 됩니다. 오버 로드 버퍼 길이가 size 인수를 지정 하지 않아도 자동으로 유추할 수 있습니다.자세한 내용은 보안 템플릿 오버 로드을 참조하십시오.

일반 텍스트 루틴 매핑

Tchar.h 루틴

_UNICODE 및 _mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_tccpy_s

매크로 또는 인라인 함수에 매핑입니다.

_mbccpy_s

매크로 또는 인라인 함수에 매핑입니다.

요구 사항

루틴

필수 헤더

_mbccpy_s

<mbstring.h>

_mbccpy_s_l

<mbstring.h>

자세한 호환성에 대 한 내용은 호환성 소개에서 합니다.

참고 항목

참조

로캘

멀티 바이트 문자 시퀀스로 해석

_mbclen, mblen, _mblen_l