[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나비야
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] wctomb_s 함수 사용 예제 코드(wctomb 함수의 버퍼 오버플로우 문제 방지) (0) | 2016.05.05 |
---|---|
[C언어 소스] wctomb 함수 사용 예제 코드(와이드 문자를 멀티 바이트 문자로 변환) (0) | 2016.05.05 |
[C언어 소스] mblen 함수 사용 예제 코드 (멀티 바이트 문자의 유효성을 확인하고 길이 구함) (0) | 2016.05.05 |
[C언어 소스] lldiv 함수 사용 예제 코드 (0) | 2016.05.05 |
[C언어 소스] ldiv 함수 사용 예제 코드 (0) | 2016.05.05 |