当前位置:  技术问答>linux和unix

如何输出彩色字符?

    来源: 互联网  发布时间:2014-11-10

    本文导语:  在LINNUX下用C编程,如何输出彩色字符? | (引自网上,出处似乎是清华BBS)    1.开一个 new window (newwin)     2.设定 window 的彩色属性 (wattrset)    ==> 在设定彩色属性之前应该先设定颜...

在LINNUX下用C编程,如何输出彩色字符?

|
(引自网上,出处似乎是清华BBS)
   1.开一个 new window (newwin) 
   2.设定 window 的彩色属性 (wattrset) 
 
==> 在设定彩色属性之前应该先设定颜色的 "pair" ,所谓的 "pair" 是指 
    foreground及background的颜色。curses的颜色有下面几种 (type为 
    short) : 
        COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, 
        COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE 
 
    用init_pair(short pair, short f_color, short b_color)来设定 pair, 
    for example: 
        init_pair(100, COLOR_RED, COLOR_BLUE) 
    就设定了编号为 100, 蓝底红字的 color pair 了. 
 
    另外你要是嫌这几种颜色太单调了, 可以用 init_color 来设定色彩, 细节 
    这边就不谈了. 
 
    然後就用 wattrset(WINDOW* pwindow, short color_pair)设定你window的 
    颜色, for example: 
        wattrset(pwindow, 100) 就设定了一个蓝底红字的 window (不要忘记 
                               这儿的 100 是刚刚用 init_pair设定的值) 
 
∶   3.印在 window 的字就自动变成那个颜色了 (mvwprintw, mvwaddstr, ...) 
 
==> 这句... 该不会有问题吧. 
 
 4.想要印不同颜色的字,只要把那个字 "OR" (|) 不同的颜色即可 (记住,    这种有属性的字要用 int,不能用 char) 
 
==> 其实型别不是用 int, 而是用 chtype (不过没有差别, 去查查 curses.h就知道) , 譬如说, 你想要在刚刚设定为蓝底红字的 window印一个别的颜色的 
    'A' 字, 可以这麽做 : 
 
    init_pair(another_color_pair, COLOR_随便, COLOR_随便) -->先设定另一个 color pair 
    char   cascii = 'A'; 
    chtype cascii_color = cascii | another_color_pair; 
 
    再把 cascii_color 印出来就是一个你想要颜色的 A 了. 
 

    
 
 

您可能感兴趣的文章:

  • Python不使用print而直接输出二进制字符串
  • 怎样在使用curses字符串输出函数或字符输出函数时,隐藏光标
  • python字符串格式化输出及相关操作代码举例
  • C 如果一个字符串是空值 输出的时候如何让其输出NULL 而不是什么也不输出?
  • 怎样将屏幕输出的字符流赋给一个字符串,谢谢
  • 怎样将屏幕输出的字符流赋给一个字符串
  • java/j2ee iis7站长之家
  • 在线等:关于特殊字符的输出小问题!
  • 如何查找并输出一行中多个字符串
  • UNIX下如何读取标准输出上的字符?
  • 请教:在程序里用system启动一个命令,如何获得这个进程的正常输出和错误输出到一个字符串里?
  • shell下,如何输出特殊字符?
  • LINUX下C++编程如何控制光标的位置,以达到在指定位置输出字符
  • 怎样实现利用fprintf,输出定长字串,位数不足时在左侧填入指定字符填充。。
  • 有没有好的方法输出重定向到字符串?
  • linux下怎么实现在屏幕上指定地方输出字符?
  • 如何使程序(字符界面)接受用户输入的一个浮点数,并把他的整数部分和小数部分分别输出。
  • C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析
  • 请问在shell中如何把10进制字符转换成16进制形式输出?
  • python 输出一个两行字符的变量
  • 数值型转化为字符串输出
  • 彩色控制台输出库 Logapp
  • 控制台输出彩色文字 Jansi
  • Linux下如何直接输出彩色文本?类似于DOS的直接写屏的
  • c#在控制台输出彩色文字的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 如何将一个命令的输出输出到屏幕上,并且同时保存到一个文件中?
  • python异常信息堆栈输出到日志文件
  • 怎样既在屏幕上显示输出,又把输出保存到一个文件中.
  • 如何ls只输出子目录名,不输出文件名??
  • 怎样可以按行输出输出二叉树?
  • 请问如何动态命名重定向输出文件名,并将内容输出到该文件?
  • 一个守护进程在里面printf想输出点东西为什么不输出?
  • 菜鸟之问题:用那个输入输出流类输出到打印机
  • 送分了:)如何将一些需要输出的东西写到ByteArrayOutputStream输出流中,如一个二维数组String[][]。
  • 在脚本中如何实现输出格式化输出
  • 怎样格式化输出:即把7输出为007?
  • 分析6410 TV输出流程, TV输出时不显示图像与大家讨论!
  • 输出重定向的问题:为什么输出到文件的东西不对?
  • 在Unix下写的printf输出怎么不能在控制台上看到输出内容呢?
  • AWK 的域 输出对不齐 另命令行怎么输出TAB
  • 关于unix使用参数导致脚本输出异常(与脚本内直接带参数输出结果不同)
  • 急!!请问如何将输入的INT或LONG型的数据按位(十进制)数输出,日期型按照如1988年12月12日 3点50分输出???
  • linux下 多线程打印输出看不到,但gdb下就能看到输出,是什么原因呢?
  • 怎样把标准输出指定到一个文件,这样我便不用关心运行时间长的程序的屏幕输出,待运行完后看文件里的内容就可以了吧?
  • telnet服务器把标准输出重定向到socket,传递给客户端再输出到屏幕


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3