最近在学习Ncurses编程,因为确实比较喜欢终端下的程序:简洁、漂亮、快速、轻量。但是ncurses库默认并不支持中文显示,怎么办?
解决方法如下:
1.安装ncursesw开发库
以在ubuntu-9.10下为例:$sudo apt-get install libncursesw5 libncursesw5-dev
2.使用setlocale函数设置locale
在程序中设置locale是为了更好的移植性,这里使用函数setlocale,可以使用命令man 3 setlocale来查看帮助。
在ncurses程序中,初始化环境之前,即initscr()函数之前,设置环境。如下:
表示设置所有的locale变量都使用系统locale,如果你的系统设置的是zh_CN.UTF-8,即终端下默认支持中文,那么这样就可以了。
3.编译
在编译的时候,不要使用ncurses库,而是使用ncursesw库,如
$gcc -o hello_zh hello_zh.c -lncursesw。