2011-11-10 83 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");