Linux C C 如何輸出彩色字型

2021-08-28 18:59:32 字數 3171 閱讀 3113

先舉個例子:

#include

intmain()

執行以上**,你將會看到紅色的hello和藍色的world!

觀察上述**,你會發現我用了三個\033[*m

這就是linux輸出彩色字型的關鍵

下表就是每個類似的字串所代表的意思 (此表**此處)

\033[0m 關閉所有屬性

\033[1m 高亮

\033[2m 亮度減半

\033[3m 斜體

\033[4m 下劃線

\033[5m 閃爍

\033[6m 快閃

\033[7m 反顯

\033[8m 消隱

\033[9m 中間一道橫線

10-19 關於字型的

21-29 基本與1-9正好相反

30-37 設定前景色

40-47 設定背景色

30:黑

31:紅

32:綠

33:黃

34:藍

35:紫

36:深

37:白

38 開啟下劃線,設定預設前景色

39 關閉下劃線,設定預設前景色

40 黑色背景

41 紅色背景

42 綠色背景

43 棕色背景

44 藍色背景

45 品紅背景

46 孔雀藍背景

47 白色背景

48 不知道什麼東西

49 設定預設背景色

50-89 沒用

90-109 又是設定前景背景的,比之前的顏色淺

\033[na 游標上移n行

\033[nb 游標下移n行

\033[nc 游標右移n行

\033[nd 游標左移n行

\033[y;xh設定游標位置

\033[2j 清屏

\033[k 清除從游標到行尾的內容

\033[s 儲存游標位置

\033[u 恢復游標位置

\033[?25l 隱藏游標

\033[?25h 顯示游標

根據上表,就可以寫乙個函式,做到切換各種顏色

**如下 (只支援一些常用的顏色)

#ifndef setcolor_h

#define setcolor_h

const

int f_black =

0x01

// 000001

const

int f_red =

0x02

// 000010

const

int f_green =

0x03

// 000011

const

int f_yellow =

0x04

// 000100

const

int f_blue =

0x05

// 000101

const

int f_dpurple =

0x06

// 000110

const

int f_white =

0x07

// 000111

const

int b_black =

0x08

// 001000

const

int b_red =

0x10

// 010000

const

int b_green =

0x18

// 011000

const

int b_brown =

0x80

// 100000

const

int b_blue =

0x88

// 101000

const

int b_white =

0x90

// 110000

//缺乙個111000,但就這些了

bool

setcolor

(int color)

;// color是乙個前景色於乙個後景色的位或結果

void

resetfcolor()

;// 重置前景色

void

resetbcolor()

;// 重置背景色

#endif

// setcolor_h

#include

"color.h"

#include

bool

setcolor

(int color)

switch

(back)

return ret;

}void

resetfcolor()

void

resetbcolor()

注:本段**未經測試,可能會有錯誤,請諒解!

最後,我們來編譯一下這個檔案不會手動編譯的朋友們注意了

進入那兩個檔案存放的目錄

使用指令$ g++ -c -o test.o test.cpp來生成目標檔案 (假設那兩個檔名為test.h和test.cpp)

使用指令$ gcc -fpic -shared test.o來生成動態鏈結庫

使用指令$ ar rcs -o libtest.a test.so來生成靜態庫 (ar在安裝gccg++時已經安裝好)

如果你編輯好了main函式放在main.cpp裡,則可以進行後兩步

使用指令g++ -c -o main.o main.cpp生成目標檔案

如果你使用動態鏈結庫,使用指令gcc -o main -l. -ltest main.cpp生成main (libtest.so必須放在main的所在目錄下,否則main.exe失效)

如果你使用靜態庫,使用指令gcc -o main main.o libtest.a生成main (libtest.a不一定一直放在main的所在目錄下,因為main不依賴)

終端如何輸出彩色字型

實現過程 終端的字元顏色是用轉義序列控制的,是文字模式下的系統顯示功能,和具體的語言無關。轉義序列是以esc開頭,即用 033來完成 esc的ascii碼用十進位制表示是27,用八進位制表示就是033 書寫格式 開頭部分 033 顯示方式 前景色 背景色m 結尾部分 033 0m 注意 開頭部分的三...

彙編 輸出彩色字型

by 1wangxiaobo 163.com datas segment str db wang xiao bo colour.s test cn db str clour db 10000010b datas ends stacks segment 此處輸入堆疊段 stacks ends code...

python輸出彩色字型

實現過程 終端的字元顏色是用轉義序列控制的,是文字模式下的系統顯示功能,和具體的語言無關。轉義序列是以esc開頭,即用 033來完成 esc的ascii碼用十進位制表示是27,用八進位制表示就是033 書寫格式 開頭部分 033 顯示方式 前景色 背景色m 結尾部分 033 0m 注意 開頭部分的三...