블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

mbstowcs(), wcstombs() 예제

#include <stdio.h>
#include <string.h>
#include <locale.h>
#include <stdlib.h>

/* MBCS(Multi Byte Character System)
*  WBCS(Wide Byte Character System)
*  MBCS문자열은 문자열 중에 영문은 1바이트, 한글등은 2바이트로 저장함
*  WBCS문자열은 모든 문자를 2바이트(Unicode)로 저장함
*  MBCS, WBCS상호 변환가능
*  mbstowcs(wchar_t *dest, const char *src, size_t maxCount)
*  wcstombs(char *dest, const wchar_t *src, size_t maxCount)
*/

int main(void) {

 char *mbs = "한글과 Elglish 혼용";
 wchar_t wcsarr[36];
 char chr[36];

 setlocale(LC_ALL, "korean");

 printf("mblen(mbs,strlen(mbs))=%d \n", mblen(mbs,strlen(mbs)));

 /* mbcs(multi byte character system) 문자열을 wbcs(wide byte character system)으로 변환 */
 if(mblen(mbs, strlen(mbs))==2) { // 문자열 중에 2바이트 문자(한글)가 있다면 2를 리턴함
  mbstowcs(wcsarr, mbs, strlen(mbs)); // mbcs문자열을 지정한 바이트 수만큼 wbcs문자열로 변환
  wprintf(L"%s \n", wcsarr); // wbcs문자열 출력
 }

 // wbcs문자열을 지정한 바이트 수만큼 mbcs 문자열로 변환
 wcstombs(chr,wcsarr, sizeof(wcsarr));
 printf("%s \n", chr);
 
}



출처 : http://micropilot.tistory.com/entry/mbstowcs-wcstombs

반응형
Posted by blueasa
, |