int main(void)
{
setlocale(LC_ALL, "Korean");
wchar_t f1, f2, m1, m2, l1, l2;
wchar_t f, s; // 첫 음절 f, 둘째 음절 s
printf("구개음화 판독기 입니다\n두 음절의 단어를 입력해 주세요\n");
printf("첫 음절\n");
wscanf_s(L"%c", &f);
getchar();
printf("둘째 음절\n");
wscanf_s(L"%c", &s);
f = f - 0xAC00;
s = s - 0xAC00; // 초중종성 분해 시작
f1 = f / (0x0015 * 0x001C) +0x1100;
m1 = (f / 0x001C) % 0x0015 +0x1161;
l1 = f % 0x001C +0x11A7;
f2 = s / (0x0015 * 0x001C) +0x1100;
m2 = (s / 0x001C) % 0x0015 +0x1161;
l2 = s % 0x001C +0x11A7;
wprintf(L"\n %c, %c, %c, %c, %c, %c \n\n", f1, m1, l1, f2 , m2, l2);
if (l1 == 0x0007 + 0x11A7&& f2 == 0x000B + 0x1100&& m2 == 0x0014 + 0x1161) { // 구개음화 조건 판단
f1 = 0x3148;
l1 = 0;
printf("구개음화가 발생합니다\n");
/* ???????????????
wprintf(L"%c%c%c%c\n %c", f1, m1, f2, m2, l2);
*/
}
else if (l1 == 0x0019 + 0x11A7 && f2 == 0x000B + 0x1100 && m2 == 0x0014 + 0x1161)
{
f1 = 0x314A;
l1 = 0;
printf("구개음화가 발생합니다\n");
/* ???????????????
wprintf(L"%c%c%c%c\n %c-", f1, m1, f2, m2, l2);
*/
}
else
printf("구개음화가 일어나지 않습니다");
printf("\n\n");
return 0;
}
결국 '궅이'에서 신경써야할 글자는 ㅌ, ㅇ, ㅣ 포지션이고...
종성1은 ㄷ, ㅌ일경우, 초성2는 ㅇ일경우, 중성2는 ㅣ, ㅑ, ㅕ, ㅛ, ㅠ(ㅣ 혹은 영어에서 y로 시작하는 발음의 이중모음)
ㅇㅇㅇ
아 저거 처음써봤는데 가독성 곱창났네ㅅㅂ 다른방법 없나
몰라 백슬래시 빠진건 알아서 보겠지
진짜 고마워 복받아라
ㅇㅇ 수정한게 뭐지 다 날라가긴했는데 조금 보면 뭐가 문제였는지 알거임
뭔지
https://liveupdate.tistory.com/149
아 구글링만 하면 다 나오는거였노ㅡㅡ - dc Cpp