c语言 printf 彩色,关于printf如何输出颜色
该楼层疑似违规已被系统折叠隐藏此楼查看此楼只靠签到升级太慢了,第二次发帖。。。之前一直不知道咋用printf输出颜色,找了度娘就知道了。。大一快结束了,c语言也学了半学期了,要走的路还很长啊。。。这是给和我一样的新手看的,大神们一笑而过就好。。。进入正题:cdroid是在安卓平台运行的,所以是linux下,可以这样输出颜色://小范例# include int main(){printf("\0.
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
只靠签到升级太慢了,第二次发帖。。。之前一直不知道咋用printf输出颜色,找了度娘就知道了。。大一快结束了,c语言也学了半学期了,要走的路还很长啊。。。这是给和我一样的新手看的,大神们一笑而过就好。。。
进入正题:cdroid是在安卓平台运行的,所以是linux下,可以这样输出颜色:
//小范例
# include
int main()
{
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)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color_index);
}
int main()
{
set_console_color(6);
printf("%s", "hello");
set_console_color(9);
printf("%s\n", " world");
return 0;
}
这段代码手机上应该运行不了。
还有其他的方法就不写了。。
希望和我一样的新手有所收获。。。。。
。。。。。。。。。。。。。路漫漫其修远兮,吾将上下而求索。
更多推荐
所有评论(0)