zoukankan      html  css  js  c++  java
  • printf打印带颜色的字符

    在printf的格式化字符串中可以通过添加控制码的方式来控制打印字符的颜色,shell脚本中echo命令加上-e选项亦可控制输出字符的颜色。
    带格式控制的一般格式为:
    “33[控制码1; 控制码2;控制码3...m字符串内容33[控制码m"
    控制码:
        33[0m    关闭所有属性   :一般放在后面,这样只会影响你输入的字符串的格式
        33[1m    设置高亮度   
        3[4m    下划线   
        33[5m    闪烁   
        33[7m    反显   
        33[8m    消隐   
        33[30m    --    33[37m    设置前景色  : 这个是设置字体的颜色,颜色代码见下
        33[40m    --    33[47m    设置背景色   : 这个是设置字体的背景色,颜色代码见下
        33[nA    光标上移n行   
        3[nB    光标下移n行   
        33[nC    光标右移n行   
        33[nD    光标左移n行   
        33[y;xH设置光标位置   
        33[2J    清屏   
        33[K    清除从光标到行尾的内容   
        33[s    保存光标位置   
        33[u    恢复光标位置   
        33[?25l    隐藏光标   
        33[?25h    显示光标
    字体颜色代码:30-37

    30:黑

    31:红

    32:绿

    33:黄

    34:蓝色

    35:紫色

    36:深绿

    37:白色

    背景颜色代码:40-47

    40:黑

    41:深红

    42:绿

    43:黄色

    44:蓝色

    45:紫色

    46:深绿

    47:白色

    了解了上面相关的控制码描述后,我们就根据自己所需来控制输出的字符格式。
    实际应用中我们一般是将需要的输出格式定义成宏:
    比如:
    #define COLOR_NONE "33[0m" //表示清除前面设置的格式
    #define RED "33[1;31;40m" //40表示背景色为黑色, 1 表示高亮
    #define BLUE "33[1;34;40m"
    #define GREEN "33[1;32;40m"
    #define YELLOW "33[1;33;40m"
     
    使用:printf(RED"Hello World"COLOR_NONE);  就会打出高亮的红色字的Hello World!!
    如果不加COLOR_NONE,那么后续的输出的字符显示都会是红色的。
  • 相关阅读:
    05.迪米特原则 (LOD)
    04.接口隔离原则 (ISP)
    03.依赖倒置原则 (DIP)
    02.里氏替换原则 (LSP)
    01.单一职责原则 (SRP)
    Flutter点击事件的穿透,父元素点击事件覆盖了子元素点击的问题
    flutter dart语法判断 0/0==Nan 1/0==Infinity的问题
    vue项目引入三方字体
    vue echart图表打包后 图片不显示
    vue设置页面的高度100%
  • 原文地址:https://www.cnblogs.com/qinghaowusu/p/13864090.html
Copyright © 2011-2022 走看看