다음을 통해 공유


wcrtomb

와이드 문자는 멀티 바이트 문자 표현으로 변환 합니다.보다 안전한 버전의이 함수를 사용할 수 있습니다. see wcrtomb_s.

size_t wcrtomb(
   char *mbchar,
   wchar_t wchar,
   mbstate_t *mbstate
);
template <size_t size>
size_t wcrtomb(
   char (&mbchar)[size],
   wchar_t wchar,
   mbstate_t *mbstate
); // C++ only

매개 변수

  • [out] mbchar
    결과 멀티 바이트 문자를 변환 합니다.

  • [in] wchar
    변환 와이드 문자입니다.

  • [in] mbstate
    에 대 한 포인터를 mbstate_t 개체입니다.

반환 값

오류가 발생 한 경우 변환 된 멀티 바이트 문자, 그렇지 않으면-1를 나타내는 데 필요한 바이트 수를 반환 합니다.

설명

wcrtomb 함수 변환에 포함 된 지정 된 변환 상태에서부터 와이드 mbstate, 포함 된 값을 wchar, 표시 된 주소에 mbchar.반환 값에 해당 하는 멀티 바이트 문자를 나타내는 데 필요한 바이트의 수입니다 하지만 않습니다 반환 합니다 두 개 이상의 MB_CUR_MAX 바이트입니다.

경우 mbstate null이 내부 mbstate_t 의 변환 상태를 포함 하는 object mbchar 사용 됩니다.경우 문자 시퀀스 wchar 해당 멀티 바이트 되지 않은 문자 표현 되는-1이 반환 하는 errno 으로 설정 EILSEQ.

wcrtomb 다른 함수에서 wctomb, _wctomb_l 를 재시작 하면 됩니다.변환 상태 저장 됩니다 mbstate 같은 또는 다른 다시 시작 함수 호출에 대 한.혼합 가지가 함수를 사용 하는 경우 결과가 정의 되지 않습니다.예를 들어, 응용 프로그램 사용 wcsrlen 대신 wcsnlen, 후속 호출 하는 경우 wcsrtombs 대신 사용 된 wcstombs.

C + +에서이 함수는 최신, 보안 상응 하는이 함수를 호출 하는 템플릿 오버 로드가 됩니다.자세한 내용은 보안 템플릿 오버 로드를 참조하십시오.

예외

wcrtomb 함수는 다중 스레드 안전 수 없습니다 현재 스레드에서 함수를 호출 하는 경우 setlocale 이 함수를 실행 하는 동안 하는 동안에 mbstate null입니다.

예제

// crt_wcrtomb.c
// compile with: /W3
// This program converts a wide character
// to its corresponding multibyte character.

#include <string.h>
#include <stdio.h>
#include <wchar.h>

int main( void )
{
    size_t      sizeOfCovertion = 0;
    mbstate_t   mbstate;
    char        mbStr = 0;
    wchar_t*    wcStr = L"Q";

    // Reset to initial conversion state
    memset(&mbstate, 0, sizeof(mbstate));

    sizeOfCovertion = wcrtomb(&mbStr, *wcStr, &mbstate); // C4996
    // Note: wcrtomb is deprecated; consider using wcrtomb_s instead
    if (sizeOfCovertion > 0)
    {
        printf("The corresponding wide character \"");
        wprintf(L"%s\"", wcStr);
        printf(" was converted to the \"%c\" ", mbStr);
        printf("multibyte character.\n");
    }
    else
    {
        printf("No corresponding multibyte character "
               "was found.\n");
    }
}
  

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

요구 사항

루틴

필수 헤더

wcrtomb

<wchar.h>

참고 항목

참조

데이터 변환

로캘

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

mbsinit