C语言中控制printf的打印颜色实例及vt100的控制符

本文介绍如何在C语言中使用printf函数实现彩色文本输出,并提供了一系列宏定义来简化颜色配置过程。此外,还列举了vt100终端控制符的具体用法,包括设置字体颜色、背景色、高亮等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言中控制printf的打印颜色实例及vt100的控制符文档 收藏

转自:http://blog.youkuaiyun.com/evimacsl/archive/2010/01/18/5206836.aspx

      

为了给printf着色方便, 我们可以定义一些宏:

#defineNONE          "\033[m"  

#defineRED           "\033[0;32;31m"  

#defineLIGHT_RED     "\033[1;31m"  

#defineGREEN         "\033[0;32;32m"  

#defineLIGHT_GREEN   "\033[1;32m"  

#defineBLUE          "\033[0;32;34m"  

#defineLIGHT_BLUE    "\033[1;34m"  

#defineDARY_GRAY     "\033[1;30m"  

#defineCYAN          "\033[0;36m"  

#defineLIGHT_CYAN    "\033[1;36m"  

#definePURPLE        "\033[0;35m"  

#defineLIGHT_PURPLE "\033[1;35m"  

#defineBROWN         "\033[0;33m"  

#define YELLOW        "\033[1;33m"  

#defineLIGHT_GRAY    "\033[0;37m"  

#defineWHITE         "\033[1;37m" 

#defineNONE          "\033[m"

#defineRED           "\033[0;32;31m"

#defineLIGHT_RED     "\033[1;31m"

#defineGREEN         "\033[0;32;32m"

#define LIGHT_GREEN   "\033[1;32m"

#defineBLUE          "\033[0;32;34m"

#defineLIGHT_BLUE    "\033[1;34m"

#defineDARY_GRAY     "\033[1;30m"

#defineCYAN          "\033[0;36m"

#defineLIGHT_CYAN    "\033[1;36m"

#definePURPLE        "\033[0;35m"

#defineLIGHT_PURPLE "\033[1;35m"

#defineBROWN         "\033[0;33m"

#defineYELLOW        "\033[1;33m"

#defineLIGHT_GRAY    "\033[0;37m"

#defineWHITE         "\033[1;37m"

 

 

  随后,我们就可以方便的使用了,例如:


#defineNONE          "\033[m"   

#defineRED           "\033[0;32;31m"   

#defineLIGHT_RED     "\033[1;31m"   

#defineGREEN         "\033[0;32;32m"   

#defineLIGHT_GREEN   "\033[1;32m"   

#defineBLUE          "\033[0;32;34m"   

#defineLIGHT_BLUE    "\033[1;34m"   

#defineDARY_GRAY     "\033[1;30m"   

#defineCYAN          "\033[0;36m"   

#defineLIGHT_CYAN    "\033[1;36m"   

#definePURPLE        "\033[0;35m"   

#defineLIGHT_PURPLE "\033[1;35m"   

#defineBROWN         "\033[0;33m"   

#defineYELLOW        "\033[1;33m"   

#defineLIGHT_GRAY    "\033[0;37m"   

#defineWHITE         "\033[1;37m"   

int  main()  

{  

    printf("\033[1m\033[40;34mhello,world\033[0m\n" );  

    printf(RED"RED FONT" BLUE"%s\n" NONE, "BLUE FONT" );  

    return  0;  

}  


  其中:

 

     \033[1m 设置高亮度

     \033[字背景颜色;字体颜色m字符串\033[0m

 

附录:vt100的控制符文档

 

vt100可以实现终端上显示颜色,或者移动光标什么的,下面是网上流传的文档。

 

=============颜色控制====================

格式: echo "33[字背景颜色;字体颜色m字符串33[0m"

 

例如:

echo"33[41;36msomething here 33[0m"

 

其中41的位置代表底色, 36的位置是代表字的颜色

 

那些ascii code 是对颜色调用的始末.

33[ ; m …… 33[0m

 

字背景颜色范围: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 显示光标
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值