Linux上Printf输出带颜色和高级格式控制

\033[显示方式;前景色;背景色m

显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)

前景色:30(黑色)、31(红色)、32(绿色)、33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)

背景色:40(黑色)、41(红色)、42(绿色)、43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

记得在打印完之后,把颜色恢复成默认(\033[0m),不然再后面的打印都会跟着变色。

例如:

printf("\033[1;31;46mPumpKing\033[0m");

效果为:

http://photo.blog.sina.com.cn/showpic.html#blogid=90cfda2f0102x6c7&url=http://album.sina.com.cn/pic/002Eq6zJzy75TcVCX2pa1

---------------------------------------进阶分隔线----------------------------------------

\033[0m关闭所有属性

\033[1m设置高亮度

\033[4m下划线

\033[5m闪烁

\033[7m反显

\033[8m消隐

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

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

\033[nA光标上移n行

\033[nB光标下移n行

\033[nC光标右移n行

\033[nD光标左移n行

\033[y;xH设置光标位置

\033[2J清屏

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

\033[s保存光标位置

\033[u恢复光标位置

\033[?25l隐藏光标

\033[?25h显示光标

通过转义序列设置终端显示属性时,常见格式为:

\033[显示方式;前景色;背景色m输出字符串\033[0m

\e[显示方式;前景色;背景色m输出字符串\033[0m

1 #define NONE                 "\e[0m"
 2 #define BLACK                "\e[0;30m"
 3 #define L_BLACK              "\e[1;30m"
 4 #define RED                  "\e[0;31m"
 5 #define L_RED                "\e[1;31m"
 6 #define GREEN                "\e[0;32m"
 7 #define L_GREEN              "\e[1;32m"
 8 #define BROWN                "\e[0;33m"
 9 #define YELLOW               "\e[1;33m"
10 #define BLUE                 "\e[0;34m"
11 #define L_BLUE               "\e[1;34m"
12 #define PURPLE               "\e[0;35m"
13 #define L_PURPLE             "\e[1;35m"
14 #define CYAN                 "\e[0;36m"
15 #define L_CYAN               "\e[1;36m"
16 #define GRAY                 "\e[0;37m"
17 #define WHITE                "\e[1;37m"
18 
19 #define BOLD                 "\e[1m"
20 #define UNDERLINE            "\e[4m"
21 #define BLINK                "\e[5m"
22 #define REVERSE              "\e[7m"
23 #define HIDE                 "\e[8m"
24 #define CLEAR                "\e[2J"
25 #define CLRLINE"\r\e[K" //or "\e[1K\r"
收藏 (0)
评论列表
正在载入评论列表...
我是有底线的