printf输出字体颜色.docx
- 文档编号:26891126
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:10
- 大小:15.01KB
printf输出字体颜色.docx
《printf输出字体颜色.docx》由会员分享,可在线阅读,更多相关《printf输出字体颜色.docx(10页珍藏版)》请在冰豆网上搜索。
printf输出字体颜色
printf输出字体颜色
有时候为了实现在终端输出的时候字体能够带颜色,并且可以产生简单的闪烁的功能,特写了下列的代码
实现helloworld的带颜色的输出,并且每过一秒产生一个闪烁的功能.
(注:
具体还得判断终端类型)CODE:
#include<stdio.h>
#include<unistd.h>
#include<signal.h>
#include<stdlib.h>intflag=0;voidsig_int(intsignum)
{
if(flag==
1)
fprintf(stderr,"\033[47;31mhelloworld\033[5m");
fprintf(stderr,"\033[;\033[0m");
fprintf(stderr,"\033[;\033[0m");
printf("\n");
exit(0);
}intmain()
{
inti=
0;
struct
sigactionsig_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,"signalerror\n");
exit
(1);
}
while(i++
<10)
{
fprintf(stderr,"\033[;\033[s");
fprintf(stderr,"\033[47;31mhelloworld\033[5m");
flag=
0;
sleep
(1);
fprintf(stderr,"\033[;\033[u");
fprintf(stderr,"\033[;\033[K");
flag=
1;
sleep
(1);
}
fprintf(stderr,
"\033[47;31mhelloworld\033[5m");
fprintf(stderr,"\033[;\033[0m");
printf("\n");
return
0;
}该程序实现输出十次helloworld然后退出.
使用一个信号是为了还原默认的终端输出的颜色.
另外再讲讲如何输出颜色以及颜色的代码.格式:
CODE:
printf("\033[字背景颜色;字体颜色m字符串\033[0m"
);printf("\033[47;31mhelloworld\033[5m");
47是字背景颜色,31是字体的颜色,hello
world是字符串.后面的\033[5m是控制码.颜色代码:
QUOTE:
字背景颜色范围:
40--49
字颜色:
30--39
40:
黑30:
黑
41:
红
31:
红
42:
绿
32:
绿
43:
黄
33:
黄
44:
蓝
34:
蓝
45:
紫
35:
紫
46:
深绿
36:
深绿
47:
白色
37:
白色ANSI控制码:
QUOTE:
\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
显示光标这样,在某些时候就可以实现动态的输出.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- printf 输出 字体 颜色