Linux终端彩色字符的输出方法
来源:互联网 发布:莫尔兹比港有网络吗 编辑:程序博客网 时间:2024/04/29 15:35
在 ANSI 兼容终端(例如 xterm、rxvt、konsole 等)里, 可以用彩色显示文本而不仅仅是黑白。但是我们自己编写的程序能否输出彩色的字符呢?当然答案是肯定的。下面的语句就输出高亮的黑色背景的绿色字。
printf("/033[1;40;32m%s/033[0m",” Hello,NSFocus/n”);
/033 声明了转义序列的开始,然后是 [ 开始定义颜色。后面的 1 定义了高亮显示字符。然后是背景颜色,这里面是40,表示黑色背景。接着是前景颜色,这里面是32,表示绿色。我们用 /033[0m 关闭转义序列, /033[0m 是终端默认颜色。
通过上面的介绍,就知道了如何输出彩色字符了。因此,我就不再多说了。下面是对于彩色字符颜色的一些定义:
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代码 意义
-------------------------
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见
下面给出了一个C语言的示例:
///////////////////////////////////////////////////////////////////////////////
//filename:tracelog.c
#include <stdio.h>
int main(int argc,char **argv)
{
unsigned char attr[]={0,1,4,5,7,8};
unsigned char fore[]={30,31,32,33,34,35,36,37};
unsigned char back[]={40,41,42,43,44,45,46,47};
int adx,fdx,bdx;
for(bdx=0;bdx<sizeof(back);bdx++)
{
for(fdx=0;fdx<sizeof(fore);fdx++)
{
for(adx=0;adx<sizeof(attr);adx++)
{
printf("/033[%d;%d;%dmhello,NSFocus!!!/033[0m",
attr[adx],fore[fdx],back[bdx]);
printf("<==attr=%d,fore=%d,back=%d/n",
attr[adx],fore[fdx],back[bdx]);
}
}
printf("/n");
}
}
printf("/033[1;40;32m%s/033[0m",” Hello,NSFocus/n”);
/033 声明了转义序列的开始,然后是 [ 开始定义颜色。后面的 1 定义了高亮显示字符。然后是背景颜色,这里面是40,表示黑色背景。接着是前景颜色,这里面是32,表示绿色。我们用 /033[0m 关闭转义序列, /033[0m 是终端默认颜色。
通过上面的介绍,就知道了如何输出彩色字符了。因此,我就不再多说了。下面是对于彩色字符颜色的一些定义:
前景 背景 颜色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色
代码 意义
-------------------------
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见
下面给出了一个C语言的示例:
///////////////////////////////////////////////////////////////////////////////
//filename:tracelog.c
#include <stdio.h>
int main(int argc,char **argv)
{
unsigned char attr[]={0,1,4,5,7,8};
unsigned char fore[]={30,31,32,33,34,35,36,37};
unsigned char back[]={40,41,42,43,44,45,46,47};
int adx,fdx,bdx;
for(bdx=0;bdx<sizeof(back);bdx++)
{
for(fdx=0;fdx<sizeof(fore);fdx++)
{
for(adx=0;adx<sizeof(attr);adx++)
{
printf("/033[%d;%d;%dmhello,NSFocus!!!/033[0m",
attr[adx],fore[fdx],back[bdx]);
printf("<==attr=%d,fore=%d,back=%d/n",
attr[adx],fore[fdx],back[bdx]);
}
}
printf("/n");
}
}
=== 全文完 ===
- Linux终端彩色字符的输出方法
- Linux终端彩色字符的输出方法
- Linux终端彩色文字输出
- linux终端输出彩色字体
- Linux终端打印彩色输出
- Linux字符终端彩色进度条
- linux在ANSI兼容终端里显示彩色字符方法
- Console终端输出彩色字符和彩色背景
- Linux下输出彩色字符
- Linux下输出彩色字符
- linux终端下输出彩色文字
- linux终端中输出彩色字体
- linux终端中输出彩色字体
- java中让控制台输出彩色字符的方法-Jansi
- Python 彩色终端输出
- 【转】Linux下输出彩色字符[转载]
- linux终端中输出彩色字体(C/SHELL)
- linux终端中输出彩色字体(C/SHELL)
- 各种资源的定义
- oracle 笔记
- 常用ASCII码
- [转贴]中国高端系统制造商开始认可和接受国产IC产品
- 五子课堂---第一课(连珠基础一)
- Linux终端彩色字符的输出方法
- 转:Oracle数据导入导出imp/exp
- UltraEdit 12 序列号
- csdn上看到这个注释
- 这就是“爱情”,这就是“婚姻!”
- 最隐蔽的黄色笑话
- 回调函数 相关
- 虚函数表例解
- 注册表技巧