C언어/C언어 예제

[C언어 소스] mbtowc 함수 사용 예제 코드(멀티 바이트 문자를 와이드 문자로 변환)

언제나휴일 2016. 5. 5. 12:15
반응형

[C언어 소스] mbtowc 함수 사용 예제 코드(멀티 바이트 문자를 와이드 문자로 변환)


//C언어 표준 라이브러리 함수 사용법 가이드

//int mbtowc(wchar_t *pwc, const char *s, size_t n); 멀티 바이트 문자를 와이드 문자로 변환

//멀티 바이트 문자열을 구성하는 문자를 유니코드로 변환

#include <locale.h>

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

 

int main(void)

{

    int  i,j;

    int len;

    int slen;

    char *str = "기억나abc나비야";

    wchar_t warr[100]=L"";

    wchar_t wc;

 

    setlocale(LC_ALL, "Korean");//로케일 설정

    slen = strlen(str);//문자열 길이 계산

    for (i = 0,j=0; i < slen; i++)

    {

        len = mblen(str + i, MB_CUR_MAX);//유니코드로 변환할 때 차지하는 바이트 수       

        mbtowc(&wc, str + i, len);//유니코드 문자로 변환

        warr[j] = wc;//유니코드 배열에 설정

        if (len == 2)//유니코드로 변환할 때 차지하는 바이트가 2일 때

        {

            i++;//i 1 더 증가

        }               

        j++;

    }   

    wprintf(L"%s\n",warr);//유니코드 문자열 출력

    return 0;

}

 

출력

기억나abc나비야


언제나 휴일 티스토리 바로가기

언제나 휴일 유튜브 채널 바로가기

반응형