2011-11-10 84 views
0

我試圖改變一些cout輸出的顏色,但在那之後cout再次變成相同的顏色。改變cout文本的顏色C++

伊夫嘗試以下代碼:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 4); 
     cout << "Help-Please" << endl; 

,但它延續了COUT已完成後還是一樣。還要補充一點,這些顏色變化將在if語句中。你會推薦我添加什麼代碼來獲得這種效果?

回答

2

文本顏色保持有效,您必須再次使用其他(前一種)顏色調用SetConsoleTextAttribute。

編輯:每個文本輸出將使用上次調用SetConsoleTextAttribute的顏色,因此您可以在不同的行(或單詞/字符)中使用不同的顏色。

+0

我試過它的感謝,但它仍然保持文本的亮點我如何刪除高亮? – Sinner

+0

你是什麼意思與文本的亮點?您是否記得或已根據情況先行_... *和* BACKGROUND _... –

+0

SetConsoleTextAttribute隻影響新打印的文本。它不會返回並更改已打印文本的顏色。如果您希望已打印的文字改變顏色,則需要返回並以新顏色重新打印。 –

-1

在stdlib.h中有一個顏色命令,用於更改所有文本顏色。 即system("color 0B");