LINUX下printf输出字体的特效

在学习LINUX网络编程的时候我们做了一个聊天系统,当时为了界面更漂亮点,于是在百度上搜索了下关于printf()函数的用法,和大家分享下:
                          给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。
                        颜色:
                        #define NONE         "\033[m"
                        #define RED          "\033[0;32;31m"
                        #define LIGHT_RED    "\033[1;31m"
                        #define GREEN        "\033[0;32;32m"
                        #define LIGHT_GREEN  "\033[1;32m"
                        #define BLUE         "\033[0;32;34m"
                        #define LIGHT_BLUE   "\033[1;34m"
                        #define DARY_GRAY    "\033[1;30m"
                        #define CYAN         "\033[0;36m"
                        #define LIGHT_CYAN   "\033[1;36m"
                        #define PURPLE       "\033[0;35m"
                        #define LIGHT_PURPLE "\033[1;35m"
                        #define BROWN        "\033[0;33m"
                        #define YELLOW       "\033[1;33m"
                        #define LIGHT_GRAY   "\033[0;37m"
                        #define WHITE        "\033[1;37m"
                        比如:
                        printf("\033[31m ####----->> \033[32m" "hello\n"
                        "\033[m");
                        颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
                                背景色                        字体色
                                40: 黑                          30: 黑
                                41: 红                          31: 红
                                42: 绿                          32: 绿
                                43: 黄                          33: 黄
                                44: 蓝                          34: 蓝
                                45: 紫                          35: 紫
                                46: 深绿                      36: 深绿
                                47: 白色                      37: 白色
                        记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
                        
                        另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种:
                        \033[0m   关闭所有属性  
                        \033[1m   设置高亮度  
                        \033[4m   下划线  
                        \033[5m   闪烁  
                        \033[7m   反显  
                        \033[8m   消隐  
                        \033[30m   --   \033[37m   设置前景色  
                        \033[40m   --   \033[47m   设置背景色  
                        \033[nA   光标上移n行  
                        \033[nB   光标下移n行  
                        \033[nC   光标右移n行  
                        \033[nD   光标左移n行  
                        \033[y;xH设置光标位置  
                        \033[2J   清屏  
                        \033[K   清除从光标到行尾的内容  
                        \033[s   保存光标位置  
                        \033[u   恢复光标位置  
                        \033[?25l   隐藏光标  
                        \033[?25h   显示光标
                        printf( CYAN "current function is %s " GREEN " file line is %d\n" NONE,
                                    __FUNCTION__, __LINE__ );
                        fprintf(stderr, RED "current function is %s " BLUE " file line is %d\n" NONE,
                                    __FUNCTION__, __LINE__ );
                            return 0;

时间: 2024-10-25 07:47:48

LINUX下printf输出字体的特效的相关文章

xp系统下打印机输出字体全部乱码如何解决

  我们在日常办公中,经常会使用到打印操作.不过,不少windowsxp系统用户有时也会遇到打印输出的文字字体全部是乱码的问题.这是怎么回事呢?针对此问题,现笔者就分享打印输出字体全部乱码的具体应对措施. 具体如下: 1.在xp系统上点击"开始--控制面板--字体". 2.在打开的"字体"窗口中单击"打印"按钮,看输出的打印结果是否正常. 3.如果打开不正常,是该字体已损坏,需要对此字体进行重新安装. 4.用另外一种字体,对所选中的文件进行打印.

文本查询-linux下如何输出最后一行含制定字符串的文件名及该行内容

问题描述 linux下如何输出最后一行含制定字符串的文件名及该行内容 例如存在3个文件,tmp1,tmp2,tmp3 . 需要获取最后行含ERROR的,结果中同时显示文件名和该行内容. tail -n 1 tmp? |grep 'ERROR' ##无法打印文件名 求各位大神指教.

Illustrator设计矢量三维字体组合特效效果绘制教程

给各位Illustrator软件的使用者们来详细的解析分享一下设计矢量三维字体组合特效效果的绘制教程. 教程分享: 01 先把自己的想法勾勒在纸上,这样有助于更好的在软件里完成你想要的效果.这篇教程我只讲一个字体的制作方法,大家融会贯通很容易就能做出其他更复杂的效果来.   02 有许多方法可以制作等距网格线.但对我来说,这是最简单的方法:首先,在Illustrator中使用直线工具,画一条水平线贯穿页面并复制几次,直到你有足够数目的线条.现在选择全部,双击工具面板的剪切图标.输入角度30,点击

linux printf输出到udp怎么设置

问题描述 linux printf输出到udp怎么设置 40C 嵌入式开发,正常情况下printf会从串口打印信息,现在想让打印信息通过udp传输,怎么实现? 解决方案 linux 下的 printfLinux中的格式输出---Printf用法通过printf设置Linux终端输出的颜色和显示方式 解决方案二: http://www.cnblogs.com/pied/p/4992200.html 解决方案三: 如果你一定要用printf的话,可以把它输出到文件,再通过UDP传输其实直接将要pri

日志-怎么控制,不让linux下debug信息输出到Tomcat下log/catalina.out

问题描述 怎么控制,不让linux下debug信息输出到Tomcat下log/catalina.out 最近维护服务器的时候,发现上传上去的文件大小全部为0, 一查才知道磁盘已经被占满了,排查下来发现tomcat下log/catalina.out文件 竟然达到惊人的10G,观察里面的信息,几乎全部是项目的debug信息, 而项目log4j的配置输出地址日志信息正常,等于是日志信息正常打印到指定位置之后, 又重复打印到catalina.out. 搜了下这个问题,几乎全是如何分割或清空catalin

Linux下Wine中文对话框字体乱码怎么办

  Wine中中文存在很多的乱码,显示成<< >> ??等,这是对对话框中"确定"等的解决: Wine中对话框默认的字体是Tahoma,在我们的linux上,Tahoma字体是无法正常显示中文的.比如Wine configuration中的"确定""取消"等就变成了"<<"">>"的字样. 解决方法很简单: 在wine的regedit中,找到: HKEY_LO

linux下相同输入产生不同输出

问题描述 linux下相同输入产生不同输出 在工作中有一个功能:根据文件a.b产生一个新文件c. a.c里都是整数数组,b是文本格式,具体流程可以理解为: 整数数组文件a + 文本文件b = 整数数组文件c. 按我们的流程,理论上整数数组里不应该有负数,但是现在生成的c中检查出了负数. 后来我们添加了一个脚本,当检查出c中有负数时,就把当时的a.b和可执行文件保存下来, 以备调试.当我们用出错情况时保存的a.b再执行时,产生的c却没有负数了. 不知道哪位碰到过这种情况. 我感觉和其中设置c的缓存

这个程序在windows平台下能正常输出,结果也是对的。到linux下运行在50行产生数组溢出是怎么回事呢

问题描述 importjava.io.*;importjava.util.*;publicclassRout{publicstaticvoidmain(String[]args){//StringfilePath="d:\java\javatest\rout.txt";intreadLine[];readLine=newint[14];StringreadResult[]=newString[14];BufferedReaderreader=null;try{FileReaderfil

Linux下LCD 10分钟自动关屏的问题总结

Linux下的LCD驱动默认10分钟后会自动关闭屏幕,我们可以修改一下代码让其不自动关屏 在有一个 drivers/char/vt.c 文件其中有一个变量(blankinterval)可以设置它来修改自动关屏的时间,也可以在函数(blank_screen_t)开头直接返回,这样就永远不会关屏了   在用LCD显示的时候,发现10分钟LCD就不再工作了.确实,Linux下有一个参数blankinterval的值就是10*60*Hz. 它决定了LCD只显示10分钟,然后LCD控制器就被关掉了. 具体