通常我們使用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...