当前位置: 技术问答>linux和unix
Ncurses库的使用问题
来源: 互联网 发布时间:2016-11-11
本文导语: 由于使用了Ncurses库,以前可以用printf函数显示的彩色字符,现在就不能用了,只有黑白,用printw函数显示不出,例如: printf("33[32;1m绿色文字33[0m"); 运行结果是:屏幕上打印“绿色文字”,并且文字是绿色的,可是用...
由于使用了Ncurses库,以前可以用printf函数显示的彩色字符,现在就不能用了,只有黑白,用printw函数显示不出,例如:
printf("33[32;1m绿色文字33[0m");
运行结果是:屏幕上打印“绿色文字”,并且文字是绿色的,可是用Ncurses库的函数无法使用这方法显示(网上说用了Ncurses后,最好不要用printf函数,用它自带的函数),怎么办?
网上没有多少显示彩色的示例代码,我只看见过这些:
has_colors();
start_color();
init_pair(1,COLOR_GREEN,COLOR_BLACK);
之类的函数,可不直到怎么用,谁能给个显示彩色字符的简单代码?
printf("33[32;1m绿色文字33[0m");
运行结果是:屏幕上打印“绿色文字”,并且文字是绿色的,可是用Ncurses库的函数无法使用这方法显示(网上说用了Ncurses后,最好不要用printf函数,用它自带的函数),怎么办?
网上没有多少显示彩色的示例代码,我只看见过这些:
has_colors();
start_color();
init_pair(1,COLOR_GREEN,COLOR_BLACK);
之类的函数,可不直到怎么用,谁能给个显示彩色字符的简单代码?
|
嘿嘿
楼主的程序是在哪儿运行的?
如果用telnet的方式登录服务器,你的终端通常是不支持颜色显示的
楼主的程序是在哪儿运行的?
如果用telnet的方式登录服务器,你的终端通常是不支持颜色显示的
|
has_colors();
你看看这个函数是否返回TRUE
如果返回FALSE,那就是不支持颜色
你看看这个函数是否返回TRUE
如果返回FALSE,那就是不支持颜色
|
has_colors();是判断系统有没有颜色库
start_color(); 启动颜色
init_pair(1,COLOR_GREEN,COLOR_BLACK);这个是颜色对,一个表示前景色,一个表示背景色。ncurres大学的时候有学过一点,现在忘光了。。。。
start_color(); 启动颜色
init_pair(1,COLOR_GREEN,COLOR_BLACK);这个是颜色对,一个表示前景色,一个表示背景色。ncurres大学的时候有学过一点,现在忘光了。。。。
|
attron(COLOR_PAIR(1));
printw("color text");
attroff(COLOR_PAIR(1));