Linux和Windows下控制台字型顏色設定

2021-07-03 12:20:15 字數 2366 閱讀 9391

colored_fputs()函式用於將輸出的文字「上色」並且輸出。在這裡有一點需要注意:windows和linux下控制台程式上色的方法是不一樣的。windows下是通過setconsoletextattribute()方法給控制台中的文字上色;linux下則是通過新增一些ansi控制碼完成上色。

linux下控制台文字上色的方法

linux下控制台顏色是通過新增專用數字來選擇的。這些數字夾在 "\e["和 "m"之間。如果指定乙個以上的數字,則用分號將它們分開。

舉幾個例子:

(1)第乙個數字(31)為前景顏色(紅色);第二個數字為(42)背景顏色(綠色)

[plain]view plain

copy

echo -e "\e[31;42m"  

(2)使用"\e[0m"序列將顏色重新設定為正常值

[plain]view plain

copy

echo -e "\e[0m" 或 echo -e "\033[0m"  

(3)顏色對應關係如下所示:

\e[30m -- \e[37m    設定前景色(字型顏色)

echo -e "\e[30m"    灰色

echo -e "\e[31m"    紅色    

echo -e "\e[32m"    綠色

echo -e "\e[33m"    黃色

echo -e "\e[34m"    藍色

echo -e "\e[35m"    紫色

echo -e "\e[36m"    淡藍色

echo -e "\e[37m"    白色     

\e[40m -- \e[47m    設定背景色

echo -e "\e[40m"    灰色

echo -e "\e[41m"    紅色

echo -e "\e[42m"    綠色

echo -e "\e[43m"    黃色

echo -e "\e[44m"    藍色

echo -e "\e[45m"    紫色

echo -e "\e[46m"    淡藍色

echo -e "\e[47m"    白色

具體到程式設計中,printf() 顏色設定示例**如下所示。

[cpp]view plain

copy

intmain()    

windows下控制台文字上色的方法

windows下控制台顏色是通過setconsoletextattribute()函式完成的。setconsoletextattribute()函式的原型如下所示。

[cpp]view plain

copy

bool

setconsoletextattribute(

handle

hconsoleoutput, 

word

wattributes);  

其中2個引數的含義如下所示:

hconsoleoutput:指向控制台的控制代碼。

wattributes:文字屬性。

hconsoleoutput可以選擇以下3種控制代碼:

std_input_handle:

標準輸入的控制代碼

std_output_handle:

標準輸出的控制代碼

std_error_handle:

標準錯誤的控制代碼

wattributes可以控制前景色和背景色:

foreground_blue:

字型顏色:藍

foreground_green:

字型顏色:綠

foreground_red:

字型顏色:紅

foreground_intensity:

前景色高亮顯示

background_blue:

背景顏色:藍

background_green:

背景顏色:綠

background_red:

背景顏色:紅

background_intensity

背景色高亮顯示

控制台文字上色demo**如下所示。

[cpp]view plain

copy

/*** 雷霄驊 lei xiaohua

[email protected]

* */#include 

#include 

intmain()    

Windows和Linux下socket的區別

1.標頭檔案 windows下winsock.h或winsock2.h linux下netinet in.h 大部分都在這兒 unistd.h close函式在這兒 sys socket.h 在in.h裡已經包含了,可以省了 2.初始化 windows下需要用wsastartup啟動ws2 32.l...

windows和linux下socket程式設計的不同

windows windows 標頭檔案的區別 include include windows 初始化的區別 windows 宣告socket socket型別 windows socket關閉 closesocket windows socket操作錯誤返回值 socket error windo...

windows和linux下的sleep之比較

include include include using namespace std int main int argc,char argv ace debug lm notice,d n ace os sleep ace time value 0,1 1000 ace debug lm noti...