printf在终端输出时改变颜色

简介: 在调试程序时,有时候要输出大量数据,如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了。终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。

在调试程序时,有时候要输出大量数据,如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了。

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。

\033[显示方式;前景色;背景色m

显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)

\033[0m 默认
\033[1;32;40m 绿色
033[1;31;40m 红色

printf( "\033[1;31;40m 输出红色字符 \033[0m" )

目录
相关文章
|
2月前
通过屏幕我们输入三个数字,并找出最大的数
【10月更文挑战第15天】通过屏幕我们输入三个数字,并找出最大的数。
36 2
|
7月前
【qt】数值的输入与输出3
【qt】数值的输入与输出
43 0
|
7月前
|
C++
输入三个数值a,b,c,确定a,b,c能构成三角形需要同时满足三条件:a+b>c,a+c>b,b+c>a,要求编写一个用于判断输入的a,b,c能否构成三角形的程序,若能输出yes,若不能输出no
这是一段包含C++代码和运行结果的描述。代码是一个程序,用于输入三个整数并判断它们是否能构成三角形(a+b>c, a+c>b, b+c>a)。运行结果显示了输出为"YES"或"NO"的情况。
94 0
|
7月前
|
C语言 C++
【qt】数值的输入与输出1
【qt】数值的输入与输出
57 0
|
7月前
【qt】数值的输入与输出2
【qt】数值的输入与输出
70 0
用c语言输出有颜色的字体 printf输出 控制台程序修改文本位置 设置控制台程序窗口标题
用c语言输出有颜色的字体 printf输出 控制台程序修改文本位置 设置控制台程序窗口标题
从键盘上输入10个整数,写入到一个文件number.txt中,然后从此文件读出数据,显示在屏幕上。
从键盘上输入10个整数,写入到一个文件number.txt中,然后从此文件读出数据,显示在屏幕上。
263 0
|
存储 缓存 安全
[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J
[oeasy]python0082_[趣味拓展]控制序列_清屏_控制输出位置_2J
108 0
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
编写程序将“jdk”全部变为大写并输出到屏幕,截取子串“DK”并输出到屏幕。
235 0
|
缓存 安全 Linux
[oeasy]python0068_控制序列_清屏_控制输出位置_2J
[oeasy]python0068_控制序列_清屏_控制输出位置_2J
96 0
 [oeasy]python0068_控制序列_清屏_控制输出位置_2J