各位看官們,大家好,上1回中我們說的是大小寫字符轉(zhuǎn)換的例子,這1回我們說的例子是:控制終端字符色彩 。閑話休提,言歸正轉(zhuǎn)。讓我們1起talk C栗子吧!
看官們,我們在Linux終端中使用Linux命令時,會出現(xiàn)各種色彩的文字,最多見的是ls命令。下面是運(yùn)行l(wèi)s -al命令后的屏幕截圖,大家從圖中可以看到各種色彩的字體:
那末如何讓我們自己寫的程序也產(chǎn)生這些5顏6色的字體呢?我們可以通過printf()函數(shù)的格式化序列進(jìn)行控制。我們看1下printf()的函數(shù)原型:
int printf(const char *format, ...);
該函數(shù)的參數(shù)數(shù)量是可變的,不管再怎樣變,它的第1個參數(shù)就是格式化序列,它用來控制輸出內(nèi)容的格式。在該格式化序列中,有1些特殊功能需要借助轉(zhuǎn)義序列來實(shí)現(xiàn),最經(jīng)常使用的轉(zhuǎn)義序列是“\n"
,它表示輸出換行符。這個地球人都知道的功能,我就不舉例子了,如果真有哪位看官不知道,那末我到想看看這位外星人長的甚么樣子。臺下看官們都在相互看對方,好像對方就是外星人似的,哈哈。
好了,大家別看外星人了,我們還是1起來看看轉(zhuǎn)義序列吧,這次我們看的是控制終端中文字色彩的轉(zhuǎn)義序列”\033“
,這是1個8進(jìn)制序列,轉(zhuǎn)換為字符后是ESC,由于它不像"\n"
1樣只有1個字符,所以我們常常用它的8進(jìn)制情勢,詳細(xì)的使用格式為:
\033[字符的顯示方式;字符的色彩;字符的背景色彩m 需要顯示的字符 \033[m
其中字符的顯示方式、字符的色彩和字符的背景色彩都用數(shù)字來表示,不同的數(shù)字代表不同的意思,各個數(shù)字代表的含義以下:
關(guān)于這些數(shù)字我做1點(diǎn)說明:
接下來我們看個例子:
printf("\033[1;30;47m hello word \033[m \n");
該例子表示在終端中輸出字符串:hello word
。字符的顯示方式通過轉(zhuǎn)義序列來控制,其含義是:使用加加粗方式顯示白底黑字情勢的字符串。
看官們,下面是程序的運(yùn)行結(jié)果,該結(jié)果中除包括我們例子中代碼的運(yùn)行結(jié)果外,還有其它情勢的顯示方式,請大家參考:
看官們,在例子中為了顯示更加清楚1些,我們都使用加粗方式來顯示字符,完全的代碼放到了我的資源中,大家可以點(diǎn)擊這里下載使用。
各位看官,關(guān)于控制終端字符色彩的例子我們就說到這里。欲知后面還有甚么例子,且聽下回分解
上一篇 Linux筆記
下一篇 MongoDB實(shí)用教程