_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 인 경우, 혹은 dest가 복사된 buffSizeinBytes 바이트가 보다 많은 경우, 그러면 매개 변수 유효성 검사로 묘사되어 잘못된 매개 변수 처리기는 호출합니다. 계속해서 실행하도록 허용된 경우, 이 함수는 EINVAL 를 반환하고 errno 은 EINVAL으로 설정합니다.
설명
_mbccpy_s 함수는 하나의 멀티 바이트 문자를 src 에서 dest까지 복사합니다. 이 src 은 _ismbblead를 명백하게 호출함으로써 결정된 멀티 바이트 문자의 선행 바이트를 가리키지 않는 경우, 그러면 src 을 가리키는 단일 바이트는 복사됩니다. 이 src 선행 문자열을 가리키나 따르는 바이트가 0 혹은 잘못된 경우에, 0은 dest으로 복사되고, errno 은 EILSEQ 으로 설정되고, 함수는 EILSEQ을 반환합니다.
이 _mbccpy_s 은 null 종결자를 추가하지 않습니다; 그러나, src 이 null 문자를 가리키는 경우, 그러면 null은 dest (일반 싱글바이트 복사본이 됩니다) 가 복사됩니다.
이 pCopied 인 값은 복사된 바이트의 숫자로 채워집니다. 작업이 성공한 경우 가능한 값은 1과 2 입니다. 이 NULL 가 전달된 경우, 매개 변수는 무시됩니다.
src |
이 dest 로 복사합니다. |
pCopied |
반환 값 |
---|---|---|---|
non-lead-byte |
non-lead-byte |
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++에서는 이러한 함수를 사용하는 것은 템플릿 오버로드에 의해 단순화됩니다; 오버로드는 자동으로 버퍼의 길이를 추정할수 있고, 크기 인수를 지정할 필요를 없앱니다. 자세한 내용은 안전한 템플릿 오버로드을 참조하십시오.
제네릭 텍스트 라우팅 매핑
Tchar.h 루틴 |
_UNICODE 및 _MBCS 정의되지 않음 |
_MBCS 정의됨 |
_UNICODE 정의됨 |
---|---|---|---|
_tccpy_s |
매크로 또는 인라인 함수에 매핑. |
_mbccpy_s |
매크로 또는 인라인 함수에 매핑. |
요구 사항
루틴 |
필수 헤더 |
---|---|
_mbccpy_s |
<mbstring.h> |
_mbccpy_s_l |
<mbstring.h> |
호환성 정보에 대한 자세한 내용은 호환성을 참조하십시오.