
gcc aa.c -o aa -lncursesw
쉘에서의 로케일과 프로그램의 로케일이 다르기 때문에,
프로그램 안에서도 로케일을 세팅해 줘야 한글이 제대로 나오게 됩니다.
또, 라이브러리의 차이점은
ncursesw -> utf8, euckr 둘다 지원
ncurses -> euckr 지원
wchar를 지원해주고 않해주고의 차이입니다.
따라서 ncursesw 는 utf8이 지원이 되고, ncurses는 utf8이 지원이 않되는 것입니다.
따라서 코딩은 다음과 같이 해주면 해결이 될것입니다.
getenv(“LANG” )으로 쓰시면 편할것으로 예상됩니다.
ko_KR.utf8 로 하시면 utf8로 나올것이고,
ko_KR.eucKR 로 하시면 euckr로 나올것입니다.
또, LC_ALL, LC_CTYPE 둘 중아무것이나 쓰셔도 한글 출력에는 지장이 없습니다.
하지만 LC_ALL 이 더 좋을 것입니다.
#include
#include
int main()
{
setlocale(LC_ALL, "ko_KR.utf8");
setlocale(LC_CTYPE, "ko_KR.utf8");
initscr();
printw("hello world!!!");
printw("헬로우~!!!");
refresh();
getch();
endwin();
return 0;
}