1、printf输出字体颜色printf输出字体颜色 有时候为了实现在终端输出的时候字体能够带颜色,并且可以产生简单的闪烁的功能,特写了下列的代码实现hello world的带颜色的输出,并且每过一秒产生一个闪烁的功能.(注:具体还得判断终端类型)CODE:#include<stdio.h>#include<unistd.h>#include<signal.h>#include<stdlib.h>int flag = 0;void sig_int(int signum) if (flag =1) fprintf(stderr, 03347;31mhe
2、llo world0335m); fprintf(stderr,033;0330m); fprintf(stderr,033;0330m); printf(n); exit(0);int main() int i =0; structsigaction sig_act; sig_act.sa_handler= sig_int; sigemptyset(&sig_act.sa_mask); sig_act.sa_flags= 0; if(sigaction(SIGINT, &sig_act, NULL) < 0) fprintf(stderr, signal errorn)
3、; exit(1); while (i+< 10) fprintf(stderr, 033;033s); fprintf(stderr, 03347;31mhello world0335m); flag =0; sleep(1); fprintf(stderr, 033;033u); fprintf(stderr, 033;033K); flag =1; sleep(1); fprintf(stderr,03347;31mhello world0335m); fprintf(stderr,033;0330m); printf(n); return0;该程序实现输出十次hello worl
4、d然后退出.使用一个信号是为了还原默认的终端输出的颜色.另外再讲讲如何输出颜色以及颜色的代码.格式:CODE:printf(033字背景颜色;字体颜色m字符串0330m); printf(03347;31mhello world0335m);47是字背景颜色, 31是字体的颜色, helloworld是字符串. 后面的0335m是控制码.颜色代码:QUOTE:字背景颜色范围: 40-49 字颜色:30-39 40:黑 30:黑 41: 红 31: 红 42: 绿 32: 绿 43: 黄 33: 黄 44:蓝 34: 蓝 45: 紫 35: 紫 46:深绿 36:深绿 47: 白色 37: 白色ANSI控制码:QUOTE: 0330m 关闭所有属性 0331m 设置高亮度 034m 下划线 0335m 闪烁 0337m 反显 0338m 消隐 03330m - 03337m 设置前景色 03340m - 03347m 设置背景色 033nA 光标上移n行 03nB 光标下移n行 033nC 光标右移n行 033nD 光标左移n行 033y;xH设置光标位置 0332J 清屏 033K 清除从光标到行尾的内容 033s 保存光标位置 033u 恢复光标位置 033?25l 隐藏光标 33?25h 显示光标这样, 在某些时候就可以实现动态的输出.