1. Ncursesw库的安装与使用
Ncurses库的安装(Ubuntu):
查看相关软件包
sudo apt-cache search ncursesw
安装ncursew必须软件包
sudo apt-get install libncurses5 libncurses5-dbg libncurses5-dev
使用Ncursesw库时,需要包含头文件 ncurses.h,没错,头文件没有改变。相应地,相关函数的使用也没有改变。
然而,在编译源文件时,采用选项-lncursesw替代原用-lncurses。
2. 使程序支持中文字符
在调用initscr()函数前,需要首先调用setlocale(LC_ALL,"")设置终端环境。具体请参见
man 3 setlocale
在man page中,我们还可以知道,为了使用setlocale这个函数,需要包含头文件locale.h。
如果没有这个头文件,可尝试安装libicu-dev软件包。
演示:
#include <ncurses.h>
#include <locale.h>
int main(void)
{
setlocale(LC_ALL,"");
initscr();
attron(A_BOLD);
printw("成功支持中文字符");
attroff(A_BOLD);
refresh();
getch();
endwin();
return 0;
}
2014.4.14补充:
在linux系统中,一般都要使用ncursesw库来实现中文输出。但是在Mac OS X中,只有ncurses库,利用上述代码同样可以输出中文。但是注意:无论使用那种情况,必须使用setlocale(LC_ALL,""),否则都有可能带来乱码!