c语言调用函数反显,printf的高级应用:给控制台的输出加点色彩,加点特效

环境:linux,SecureCRT,Super-Terminal or ...

功能:给控制台的输出加点色彩,加点特效

试用范围:在debug,或者需要在控制台上输出明显标记或提示

格式定义:\033[ + 功能值 + 取字

一、颜色定义:

#define CTL_NONE              "\033[m"

#define CTL_RED                "\033[0;32;31m"

#define CTL_LIGHT_RED       "\033[1;31m"

#define CTL_GREEN             "\033[0;32;32m"

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

#define CTL_BLUE               "\033[0;32;34m"

#define CTL_LIGHT_BLUE     "\033[1;34m"

#define CTL_DARY_GRAY     "\033[1;30m"

#define CTL_CYAN              "\033[0;36m"

#define CTL_LIGHT_CYAN    "\033[1;36m"

#define CTL_PURPLE            "\033[0;35m"

#define CTL_LIGHT_PURPLE  "\033[1;35m"

#define CTL_BROWN            "\033[0;33m"

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

#define CTL_LIGHT_GRAY    "\033[0;37m"

#define CTL_WHITE            "\033[1;37m"

特定颜色说明:

背景色(范围:30-39)

字体颜色(范围:40-49)

附表1:

===============================================================

背景色                        前景色(字体颜色)

40: 黑                          30: 黑

41: 红                          31: 红

42: 绿                          32: 绿

43: 黄                          33: 黄

44: 蓝                          34: 蓝

45: 紫                          35: 紫

46: 深绿                       36: 深绿

47: 白色                       37: 白色

===============================================================

注意:打印完之后颜色恢复成NONE,不然再后面的打印都会跟着变色。

二、控制字

#define CTL_CLOSE_PRE              \033[0m   关闭所有属性

#define CTL_HIGHT_LIGHT           \033[1m   设置高亮度

#define CTL_UNDER_LINE             \033[4m   下划线

#define CTL_GLITTER                  \033[5m   闪烁

#define CTL_REVERSE                   \033[7m   反显

#define CTL_UNHIDE                    \033[8m   消隐

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

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

#define CTL_UP_N                       \033[nA   光标上移n行

#define CTL_DOWN_N                  \033[nB   光标下移n行

#define CTL_RIGHT_N                  \033[nC   光标右移n行

#define CTL_LEFT_N                    \033[nD   光标左移n行

#define CTL_PLACE                      \033[y;xH 设置光标位置

#define CTL_CLEAN                      \033[2J   清屏

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

#define CTL_SAVE_POSITION        \033[s    保存光标位置

#define CTL_RELOAD_POSICTION   \033[u    恢复光标位置

#define CTL_HIDE                         \033[?25l 隐藏光标

#define CTL_SHOW                       \033[?25h 显示光标

三、例子

1)c语言中运用

printf( CTL_RED "func:%s:%d " CTL_GREEN " bug[9988] \n" NONE, __func__ , __LINE__ );

fprintf(stderr, CTL_RED "func:%s:%d " CTL_GREEN " bug[9988] \n" NONE, __func__ , __LINE__ );

2)控制台脚本中运用 (linux shell)

DEWARNING=\\033[033m

DEEND=\\033[0m

echo -e “$DEWARNING [Warning]:You are failed $DEEND”

阅读(1632) | 评论(0) | 转发(0) |

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值