各位看官们,大家好,上1回中我们说的是大小写字符转换的例子,这1回我们说的例子是:控制终端字符色彩 。闲话休提,言归正转。让我们1起talk C栗子吧!
看官们,我们在Linux终端中使用Linux命令时,会出现各种色彩的文字,最多见的是ls命令。下面是运行ls -al命令后的屏幕截图,大家从图中可以看到各种色彩的字体:
那末如何让我们自己写的程序也产生这些5颜6色的字体呢?我们可以通过printf()函数的格式化序列进行控制。我们看1下printf()的函数原型:
int printf(const char *format, ...);
该函数的参数数量是可变的,不管再怎样变,它的第1个参数就是格式化序列,它用来控制输出内容的格式。在该格式化序列中,有1些特殊功能需要借助转义序列来实现,最经常使用的转义序列是“\n"
,它表示输出换行符。这个地球人都知道的功能,我就不举例子了,如果真有哪位看官不知道,那末我到想看看这位外星人长的甚么样子。台下看官们都在相互看对方,好像对方就是外星人似的,哈哈。
好了,大家别看外星人了,我们还是1起来看看转义序列吧,这次我们看的是控制终端中文字色彩的转义序列”\033“
,这是1个8进制序列,转换为字符后是ESC,由于它不像"\n"
1样只有1个字符,所以我们常常用它的8进制情势,详细的使用格式为:
\033[字符的显示方式;字符的色彩;字符的背景色彩m 需要显示的字符 \033[m
其中字符的显示方式、字符的色彩和字符的背景色彩都用数字来表示,不同的数字代表不同的意思,各个数字代表的含义以下:
关于这些数字我做1点说明:
接下来我们看个例子:
printf("\033[1;30;47m hello word \033[m \n");
该例子表示在终端中输出字符串:hello word
。字符的显示方式通过转义序列来控制,其含义是:使用加加粗方式显示白底黑字情势的字符串。
看官们,下面是程序的运行结果,该结果中除包括我们例子中代码的运行结果外,还有其它情势的显示方式,请大家参考:
看官们,在例子中为了显示更加清楚1些,我们都使用加粗方式来显示字符,完全的代码放到了我的资源中,大家可以点击这里下载使用。
各位看官,关于控制终端字符色彩的例子我们就说到这里。欲知后面还有甚么例子,且听下回分解
上一篇 Linux笔记
下一篇 MongoDB实用教程