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:指向控制台的控制代碼。hconsoleoutput可以選擇以下3種控制代碼:wattributes:文字屬性。
std_input_handle:wattributes可以控制前景色和背景色:標準輸入的控制代碼
std_output_handle:
標準輸出的控制代碼
std_error_handle:
標準錯誤的控制代碼
foreground_blue:控制台文字上色demo**如下所示。字型顏色:藍
foreground_green:
字型顏色:綠
foreground_red:
字型顏色:紅
foreground_intensity:
前景色高亮顯示
background_blue:
背景顏色:藍
background_green:
背景顏色:綠
background_red:
背景顏色:紅
background_intensity
背景色高亮顯示
[cpp]view plain
copy
/*** 雷霄驊 lei xiaohua
* */#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...