使用printf输出彩色的字体
在终端输出彩色的字体可以通过 ANSI 转义序列实现。ANSI 转义序列是以 "\033[" 开头,以 "m" 结尾的一段字符串,其中包含了控制终端输出的一些属性,如字体颜色、背景色、粗体等。
下面是一些常用的 ANSI 转义序列:
| 字体颜色 | 背景颜色 | 属性 | 转义序列 | | -------- | -------- | -------- | --------------------- | | 黑色 | 黑色 | 无 | \033[30;40m | | 红色 | 红色 | 粗体 | \033[1;31;41m | | 绿色 | 绿色 | 普通 | \033[32;42m | | 黄色 | 黄色 | 下划线 | \033[4;33;43m | | 蓝色 | 蓝色 | 反显 | \033[7;34;44m | | 紫色 | 紫色 | 深色 | \033[35;45m | | 青色 | 青色 | 高亮 | \033[1;36;46m | | 白色 | 白色 | 闪烁 | \033[5;37;47m | | | | 恢复默认 | \033[0m |
例如,要输出红色的粗体字体,可以使用:
printf("\033[1;31mThis is a red bold font.\033[0m\n");
其中,“\033[1;31m”设置了字体颜色为红色、粗体,而“\033[0m”表示恢复默认属性。
注意,在使用 ANSI 转义序列时,一定要在输出字符串后面加上“\033[0m”以恢复默认属性,否则后面的输出也会继承前面的属性。
原文地址: https://www.cveoy.top/t/topic/8mz 著作权归作者所有。请勿转载和采集!