[這是我的第一篇文章。請不要吞噬我]沒有控制檯輸出的彩色文本?
嘿,偷看!
我很新(如短短几個小時),以C++
我沒有學過任何其他的「高」的語言呢,我做的大多數事情在Windows CMD, 和與它的是相當知現在控制檯,但缺乏功能驅使我在別的地方。因此,爲了學習C++,我目前正在使用Sololearn並且只是研究,剛剛從批處理中移植一些小的項目,我不想使用GUI或擴展,我正在使用CodeBlocks來完成控制檯應用。
現在我的問題;
我正要做着色文字整齊的功能,我修改了一個片段(這裏找到:Source)到這個位置:
void colorText(string ct, int col)
{
HANDLE hConsole;
hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
FlushConsoleInputBuffer(hConsole);
SetConsoleTextAttribute(hConsole, col);
cout << ct;
SetConsoleTextAttribute(hConsole, 15); //set back to black background and white text
}
這實際上是工作好了, 與調用它
colorText("This my Text",12);
例如, 芹苴,我得到它醜陋的控制檯輸出,它看起來像這樣:
CMD.EXE was started with the Path given above as the current Directory.
UNC-Paths aren't supported.
The Windows - Directory will be set as current Directory.
現在,沒有任何人有一個想法如何避免這種情況,通過使用不同的技術爲着色,或靜音控制檯窗口?我也很感激,如果有人知道也許有些地方學習C++有點更專業,教程網站..
我很感激所有幫助,
真誠clragon
我很確定這個輸出與顏色無關,只是由Code :: Blocks啓動終端的方式引起的。它是否也出現在簡單的「Hello World」上? – Quentin
@Quentin不,實際上不是。 它的正常輸出是運行時間和「按任意鍵」 顏色功能添加上面的那些,我測試了通過評論該調用。 – clragon
如果你想學習,不要從最糟糕的IDE開始。下載[Visual Studio Community](https://www.visualstudio.com/vs/community/)並從此處下載。 Code :: Blocks的默認設置較差,這是一種阻礙構建應用程序的傾向,而且幾乎不受支持。 – IInspectable