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

来源:互联网 发布:ps mac触摸板无法缩放 编辑:程序博客网 时间:2024/05/19 12:16

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   显示光标

原创粉丝点击