您的位置:首页 > 运维架构 > Linux

Linux下利用printf函数打印带颜色的字符串

2017-11-06 14:48 363 查看
v 相信大家在调试代码或者是在做某个项目的界面时候,会觉得显示在终端上的字体颜色太单调了。

 

其实,在Linux环境下利用printf函数就可以实现字体颜色的改变。不只是字体颜色的改变,利用printf函数你还可以实现设置高亮度、设置下划线
、  闪烁 等等效果。利用好printf函数可以使你编写的项目逼格更高,也会使你调试过程更有乐趣。

 

 

v 一种控制:printf("\033[xm");

多种控制:printf("\033[x;y;zm");等价于printf("\033[xm\033[ym\033[zm "); 

 

举个例子:



这是我做的项目中提示错误的一个片段,效果是背景色深红色闪烁。

 

代码实现:

 printf("\033[41m\033[5m"); // 开始以深红色闪烁打印

Printf(“图例中的话\n”);

printf("\033[0m");关闭所有属性,恢复默认颜色打印

 

注意:如果不加上printf("\033[0m");,接下来终端上的显示都是背景深红色闪烁打印,这就会亮瞎了眼。从这里我们可以看出printf("\033[xm");和printf("\033[0m");都是配对使用的。

 

 

 

附:参考颜色代码

v 颜色代码:

QUOTE:
字背景颜色范围:40----49 40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色 
 
字颜色:30-----------39 30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色 
 

 

 

v ANSI控制码:

QUOTE:

  \033[0m  
关闭所有属性  

  \033[1m  
设置高亮度  

  \03[4m  
下划线  

  \033[5m  
闪烁  

  \033[7m  
反显  

  \033[8m  
消隐  

  \033[30m   --   \033[37m  设置前景色
 

  \033[40m   --   \033[47m  设置背景色
 

  \033[nA  
光标上移n行 

  \03[nB  
光标下移n行 

  \033[nC  
光标右移n行 

  \033[nD  
光标左移n行 

  \033[y;xH设置光标位置 

  \033[2J  
清屏  

  \033[K  
清除从光标到行尾的内容  

  \033[s  
保存光标位置  

  \033[u  
恢复光标位置  

  \033[?25l  
隐藏光标  

  \33[?25h  
显示光标
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  printf linux