wctomb_s, _wctomb_s_l
와이드 문자 해당 멀티 바이트 문자로 변환합니다.버전 wctomb, _wctomb_l 와 보안 기능 향상에 설명 된 대로 CRT의 보안 기능.
errno_t wctomb_s(
int *pRetValue,
char *mbchar,
size_t sizeInBytes,
wchar_t wchar
);
errno_t _wctomb_s_l(
int *pRetValue,
char *mbchar,
size_t sizeInBytes,
wchar_t wchar,
_locale_t locale
);
매개 변수
[out] pRetValue
수 바이트 또는 결과 나타내는 코드입니다.[out] mbchar
멀티 바이트 문자 주소입니다.[in] sizeInBytes
버퍼 크기를 mbchar.[in] wchar
와이드 문자입니다.[in] locale
사용 하는 로캘.
반환 값
연결에 성공 하면 0, 실패 시 오류 코드입니다.
오류 조건
mbchar |
sizeInBytes |
반환 값 |
pRetValue |
---|---|---|---|
NULL |
>0 |
EINVAL |
수정 되지 않음 |
모든 |
>INT_MAX |
EINVAL |
수정 되지 않음 |
모든 |
너무 작은 |
EINVAL |
수정 되지 않음 |
위의 오류 조건이 발생 하는 경우 잘못 된 매개 변수 처리기를의 설명에 따라 호출 됩니다 매개 변수 유효성 검사.실행을 계속 수 있으면 wctomb 반환 EINVAL 를 설정 하 고 errno 에 EINVAL.
설명
wctomb_s 변환 함수는 wchar 인수에 해당 하는 멀티 바이트 문자에 결과 저장 하 고 mbchar.프로그램의 모든 지점에서이 함수를 호출할 수 있습니다.
경우 wctomb_s 와이드 문자 변환 여 바이트는 멀티 바이트 문자를 저장 합니다 (는 절대로 보다 큰 MB_CUR_MAX)에 와이드 문자를 가리키는 정수 pRetValue.경우 wchar 와이드 문자 null 문자 ('\ 0' L)입니다 wctomb_s 칠 pRetValue 1을 사용 합니다.경우 대상 포인터 mbchar 가 NULL 인지 wctomb_s 0 배치 pRetValue.현재 로케일에 변환이 불가능 하면 wctomb_s -1 배치 pRetValue.
wctomb_s현재 로케일에 대 한 로케일 종속 정보를 사용합니다. _wctomb_s_l대신 전달 된 로캘을 사용 하는 점을 제외 하 고 동일 합니다.자세한 내용은 로캘를 참조하십시오.
요구 사항
루틴 |
필수 헤더 |
---|---|
wctomb_s |
<stdlib.h> |
_wctomb_s_l |
<stdlib.h> |
추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.
예제
이 프로그램의 동작을 보여 줍니다 있는 wctomb 함수입니다.
// crt_wctomb_s.cpp
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int i;
wchar_t wc = L'a';
char *pmb = (char *)malloc( MB_CUR_MAX );
printf_s( "Convert a wide character:\n" );
wctomb_s( &i, pmb, MB_CUR_MAX, wc );
printf_s( " Characters converted: %u\n", i );
printf_s( " Multibyte character: %.1s\n\n", pmb );
}
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.