http://kldp.org/node/59797
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 <locale.h>
#include <ncurses.h>
int main()
{
setlocale(LC_ALL, "ko_KR.utf8");
setlocale(LC_CTYPE, "ko_KR.utf8");
initscr();
printw("hello world!!!");
printw("헬로우~!!!");
refresh();
getch();
endwin();
return 0;
}
반응형
'프로그래밍 > C·C++' 카테고리의 다른 글
gcc mysql.h 컴파일 (0) | 2010.08.11 |
---|---|
ncurses 프로그래밍 (0) | 2010.08.11 |
리눅스 curses.h 설명 (0) | 2010.08.11 |
리눅스 curses.h 사용 예 (0) | 2010.08.11 |
전역변수&extern (0) | 2010.08.11 |