//초성
static const wchar_t wcHead[] = {L'ㄱ', L'ㄲ', L'ㄴ', L'ㄷ',
L'ㄸ', L'ㄹ', L'ㅁ', L'ㅂ',
L'ㅃ', L'ㅅ', L'ㅆ', L'ㅇ',
L'ㅈ', L'ㅉ', L'ㅊ', L'ㅋ',
L'ㅌ', L'ㅍ', L'ㅎ'};
//중성
static const wchar_t wcMid[] = {L'ㅏ', L'ㅐ', L'ㅑ', L'ㅒ',
L'ㅓ', L'ㅔ', L'ㅕ', L'ㅖ',
L'ㅗ', L'ㅘ', L'ㅙ', L'ㅚ',
L'ㅛ', L'ㅜ', L'ㅝ', L'ㅞ',
L'ㅟ', L'ㅠ', L'ㅡ', L'ㅢ', L'ㅣ'};
//종성
static const wchar_t wcTail[] = {L' ', L'ㄱ', L'ㄲ', L'ㄳ',
L'ㄴ', L'ㄵ', L'ㄶ', L'ㄷ',
L'ㄹ', L'ㄺ', L'ㄻ', L'ㄼ',
L'ㄽ', L'ㄾ', L'ㄿ', L'ㅀ',
L'ㅁ', L'ㅂ', L'ㅄ', L'ㅅ',
L'ㅆ', L'ㅇ', L'ㅈ', L'ㅊ',
L'ㅋ', L'ㅌ', L'ㅍ', L'ㅎ'};
wchar_t wc = '가';
int *iArr = new int[3];
wchar_t *wcArr = new wchar_t[3];
iArr[0] = (wc - 0xAC00) / (21 * 28);
iArr[1] = ((wc - 0xAC00) % (21 * 28)) / 28;
iArr[2] = (wc - 0xAC00) % 28;
wcArr[0] = wcHead[iArr[0]];
wcArr[1] = wcMid[iArr[1]];
wcArr[2] = wcTail[iArr[2]];
이제 wcArr에는 각 음소가 들어가 있겠죠.
더 간단한 방법이 있을려나.. --;;
예전에 GIS 업체에서 한글 지명을 로마자로 표기하기 위해서..
만들었던 컴퍼넌트가 있었는데.. 기억을 되살려 봤습니다. --;;
실행은 안시켜본. --;;
Jonghyun. Yoon (윤종현)
http://www.neoctrl.net
"배세훈" <wea...@kornet.net> wrote in message
news:03b501c3047e$e6dadf80$a401...@phx.gbl...
> 일반 txt 파일에서 한글의 초성, 중성, 종성을 분리하려 합니
> 다. MFC를 통해 구현하기 위해서 어떤 라이브러리를 사용해야
> 하는지 궁금하네요
완성형 한글코드를 조합형 한글코드로 변환하는 방법이 있
습니다..
조합형 한글코드는 5비트씩 초성, 중성, 종성을 저장하므
로 쉽게 잘라낼 수 있습니다..
미친병아리 서비였네용.. 삐약~ !!
오광섭 (Oh, Kwang Sup) - Microsoft MVP (Visual C++)
Microsoft Public Newsgroup - microsoft.public.kr.vc.qna
madc...@madchick.com, http://www.madchick.com
다울소프트 개발2팀장
webm...@daulsoft.com, http://www.daulsoft.com
135-080 서울시 강남구 역삼동 650-2 대명빌딩 4층
02-529-4722, 02-529-4723(FAX)
http://www.neotest.com
http://www.neotest.com/NeoWeBoard/intro.asp