Ncurses是程序库,使用最多的组件是窗体,在Linux系统操作中,不少朋友使用Ncurses的时候遇到中文乱码问题,遇到该问题要如何处理呢?下面小编就给大家介绍下Linux使用Ncurses时出现中文乱码的解决方法。
有几个关键点:
1.gcc编译时用,gcc-lncursesw--verbose查看是否支持-lncursesw连接;
2.代码文件里面,设置locale
#include
#include
intmain(intargc,charconst*argv[])
{
setlocale(LC_ALL,);
initscr();
noecho();
refresh();
printw(我来测试中文的/n);
getchar();
return0;
}
3.命令行执行apt-cachesearchlibncursesw5,查看是否安装ncurses库
发现我的linux不支持;在/usr/include/下发现有ncurses.h
但是,没有别人说的ncursesw目录;
后来发现,我装了libncurses5,也装了libncursesw5,导致-lncursesw选项不能用,我就把libncurses5卸载了,然后再重新装libncursesw5;
具体命令是
1.apt-cachesearchlibncurses5
2.apt-getpurgelibncurses5
3.sudoapt-getpurgelibncurses5-dbg
4.sudoapt-getpurgelibncurses5-dev
5.sudoapt-getautoremove
6.sudoapt-getclean
7.dpkg-l|grep^rc|awk‘{print$2}’|xargsdpkg-P
接着再安装libncursesw5,命令如下
1.sudoapt-getinstalllibncursesw5
2.sudoapt-getinstalllibncursesw5-dbg
3.sudoapt-getinstalllibncursesw5-dev
然后
gcc-ctest.otest.c
gcc-otesttest.o-lncursesw
接着运行。/test
发现中文可以正常打印了
上面就是Linux使用Ncurses出现中文乱码的解决方法的介绍了,如果你在使用的过程中也出现了同样的问题,又不知道要如何解决的话,不妨试试本文介绍的方法吧。