使c 控制台的文字變得多彩

2021-08-12 00:25:36 字數 2227 閱讀 9378

通常我們使用c++控制台程式設計面對的黑框和白色單調的文字,如下:

如何讓輸出的資訊有顏色呢?比如cerr輸出的就是紅色,比如cout輸出的就是綠色。

接下來,我們實現著色功能。下面借鑑了c++的操縱器策略。

這是著色的實現標頭檔案

#pragma once

#include//呼叫win32api函式

#include//呼叫flush成員函式,首先重新整理緩衝區

namespace color//命名空間為color,防止名字衝突

//用到模板是為了通用,不僅cout,cerr可以染色,wcout,wcerr等也可以著色,自己定義的流只要滿足模板都可以。

template

inline

std::basic_ostream& fg_white(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_blue(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_green(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_red(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_cyan(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_magenta(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_yellow(std::basic_ostream& os)

template

inline

std::basic_ostream& fg_black(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_white(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_blue(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_green(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_red(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_cyan(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_magenta(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_yellow(std::basic_ostream& os)

template

inline

std::basic_ostream& bg_black(std::basic_ostream& os)

//清空螢幕,還原本色

template

inline

std::basic_ostream& clr(std::basic_ostream& os)

}

實現檔案就是上面的consolecolor.hpp,因為主要是模板函式所以函式定義都放在h檔案裡面。下面我們來看看怎麼用。

#include

#include"consolecolor.h"

using

namespace

std;

using

namespace color;

int main()

C 控制台輸出彩色文字

參考開源專案 首先通過nuget安裝colorful.console。基本用法如下 using system using system.drawing using console colorful.console console.writeline console in pink color.pin...

c 控制台模擬dos 超好用的C 控制台應用模板

預設模板之缺 看起來大概是這樣 using system class program static void main string args console.writeline hello world 面對這如同白紙一樣的模板,如果我們需要捕捉一下異常 呼叫一下非同步方法 記錄一下log呢?勤奮的...

C 將控制台列印的內容寫入 txt文字

在程式中控制台輸出的內容寫入.txt文字可以更方便的檢視結果,當然可也用 操作文字,還可以用cmd關聯編譯器生成的.exe檔案。具體為 比如生成的.exe檔案路徑為 f bebut debug bebut.exe 開啟電腦的cmd控制台,將路徑定位到.exe所在的路徑下,然後輸入 bebut.exe...