失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux终端程序如何编写 [LINUX]利用Ncursesw编写支持中文的终端程序

linux终端程序如何编写 [LINUX]利用Ncursesw编写支持中文的终端程序

时间:2024-01-18 04:26:35

相关推荐

linux终端程序如何编写 [LINUX]利用Ncursesw编写支持中文的终端程序

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

#include

int main(void)

{

setlocale(LC_ALL,"");

initscr();

attron(A_BOLD);

printw("成功支持中文字符");

attroff(A_BOLD);

refresh();

getch();

endwin();

return 0;

}

.4.14补充:

在linux系统中,一般都要使用ncursesw库来实现中文输出。但是在Mac OS X中,只有ncurses库,利用上述代码同样可以输出中文。但是注意:无论使用那种情况,必须使用setlocale(LC_ALL,""),否则都有可能带来乱码!

如果觉得《linux终端程序如何编写 [LINUX]利用Ncursesw编写支持中文的终端程序》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。