您的位置:首页 > 编程语言 > C语言/C++

C/C++控制台带颜色功能输出

2012-11-06 12:55 375 查看
在UNIX字符界面下显示有8种不同颜色,printf打印基本格式如下:

printf("\x1b[%d;%dm%s\x1b[%dm", backcolor, frountcolor, str, control);

分别的表示如下:

第一个%d:backcolor表示显示字符串的背景颜色,其值如下表所示:

第二个%d:frountcolor表示字体颜色,其值如下表所示:

QUOTE:

字背景颜色范围: 40--49 字颜色: 30--39

40: 黑 30: 黑

41: 红 31: 红

42: 绿 32: 绿

43: 黄 33: 黄

44: 蓝 34: 蓝

45: 紫 35: 紫

46: 深绿 36: 深绿

47: 白色 37: 白色

第三个%s:str 表示需要显示的字符串

第四个%d:control表示ANSI控制码,其值如下表所示:

ANSI控制码:

QUOTE:

\x1b[0m 关闭所有属性

\x1b[1m 设置高亮度

\x1b[4m 下划线

\x1b[5m 闪烁

\x1b[7m 反显

\x1b[8m 消隐

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

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

\x1b[nA 光标上移n行

\x1b[nB 光标下移n行

\x1b[nC 光标右移n行

\x1b[nD 光标左移n行

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

\x1b[2J 清屏

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

\x1b[s 保存光标位置

\x1b[u 恢复光标位置

\x1b[?25l 隐藏光标

\x1b[?25h 显示光标

例子:

int main()

{

int i, j;

for(i=40; i<48; i++)

for(j=30; j<38; j++)

{

printf("\x1b[%d;%dmhello world\n\x1b[0m",i, j);

}

return 0;

}

这是一个简单例子,可以在此基础上修改。需要说明的是如果在SecureCRT上显示的话,需要将ANSI开启。

除了用printf函数打印之外,还可以用echo输出。这里不做说明,方法一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: