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

用C语言Linux下打印带颜色的字符串

2015-02-09 20:09 267 查看
字背景颜色范围:40----49

40:黑

41:深红

42:绿

43:黄色

44:蓝色

45:紫色

46:深绿

47:白色 

字颜色:30-----------39

30:黑

31:红

32:绿

33:黄

34:蓝色

35:紫色

36:深绿

37:白色 

============ANSI控制码的说明 ===============

33[0m 关闭所有属性

33[1m 设置高亮度

33[4m 下划线

33[5m 闪烁

33[7m 反显

33[8m 消隐

33[30m -- 33[37m 设置前景色

 33[40m -- 33[47m 设置背景色

33[nA 光标上移n行

33[nB 光标下移n行

33[nC 光标右移n行

33[nD 光标左移n行

33[y;xH设置光标位置

33[2J 清屏

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

33[s 保存光标位置

33[u 恢复光标位置

33[?25l 隐藏光标

33[?25h 显示光标

   

 

基本格式:

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

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

举个例子:
以红色在终端上打印出“Hello, world”,对应的代码如下:

 printf("\033[31m\033[1m"); // 开始以红色高亮打印

 printf("Hello, world\n");

printf("\033[0m");要恢复默认颜色打印,只需要再打印如下一句:

 

也可以通过下面这段代码,看看实际效果: 

int main() {
        fprintf(stdout, "\033[31m\033[1m"); /* 设置开始 */ 

      fprintf(stdout, "HEllo, world\n");     /* 用户打印 */       

    fprintf(stdout, "\033[0m");          /* 恢复默认值*/   

     return 0;

 } 

参考配色:
#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"    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 printf