c语⾔printf有颜⾊字体,关于printf如何输出颜⾊
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
只靠签到升级太慢了,第⼆次发帖。。。之前⼀直不知道咋⽤输出颜⾊,了度娘就知道了。。⼤⼀快结束了,c语⾔也学了半学期了,要⾛的路还很长啊。。。这是给和我⼀样的新⼿看的,⼤神们⼀笑⽽过就好。。。
进⼊正题:cdroid是在安卓平台运⾏的,所以是下,可以这样输出颜⾊:
//⼩范例
#
main()
{undefined
printf("\033[31m""hello world"); //这会输出红⾊的hello world,其他颜⾊请看下⽂
return 0;
}
关键部分的基本格式是:
printf("\033[字背景颜⾊;字体颜⾊m字符串\033[0m" );
printf("\033[47;31mhello world\033[5m");
47是字背景颜⾊, 31是字体的颜⾊, hello world是字符串. 后⾯的\033[5m是控制码
字背景颜⾊范围: 40--49 字颜⾊: 30--39
40: ⿊ 30: ⿊
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: ⽩⾊ 37: ⽩⾊
其他的控制码:
\033[0m 关闭所有属性
\033[1m 设置⾼亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景⾊
\033[40m -- \033[47m 设置背景⾊
\033[nA 光标上移n⾏
\03[nB 光标下移n⾏
\033[nC 光标右移n⾏
\033[nD 光标左移n⾏
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到⾏尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显⽰光标
在c4上就这样了。。。很简单,⼀看就会。。
⾄于在windos下⽤printf输出颜⾊上⾯的⽅法就不⾏了,"\033[31m"前⾯的会成转义字符。简单提⼀下吧,来源于度娘:
⼀种:使⽤⽼古董“TC”或者"BC",
它有个头⽂件叫conio.h,然后就可以调⽤如textcolor、textbackground等函数了,
但是这个头⽂件在Windows系列中例如(VC6等),虽然也有这个头⽂件,但是
你若是打开看看的话,⾥⾯是不⽀持这些函数;
⼆种:使⽤所⽰的Windows⽀持的console终端函数:
#include "stdio.h"
#include "windows.h"
void set_console_color(unsigned short color_index)
{undefined
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color_index);
}
int main()
{undefined
set_console_color(6);
printf怎么输出字符printf("%s", "hello");
set_console_color(9);
printf("%s\n", " world");
return 0;
}
这段代码⼿机上应该运⾏不了。
还有其他的⽅法就不写了。。
希望和我⼀样的新⼿有所收获。。。。。。。。。。。。。。。。。。路漫漫其修远兮,吾将上下⽽求索。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论