C - 在控制台应用程序中更改单个单词的文本颜色?

时间:2015-09-17 04:00:27

标签: c windows text colors

我正在为学校开展一个项目,为了便于阅读,我希望能够将用户的钱显示为黄色文本。到目前为止,我已经找到了使用

为整个窗口执行此操作的方法
system("COLOR 06"); 

但这不是我想要的。我正在Windows中的控制台应用程序中运行,所以一些颜色可以很好地使它达到标准。这可以用C吗?

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容,而不是调用系统命令,并假设您只处理Windows应用程序,而不是:

  HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

  SetConsoleTextAttribute(hStdOut, (FOREGROUND_BLUE | BACKGROUND_GREEN));

  printf("I'm BLUE ");

  SetConsoleTextAttribute(hStdOut, (FOREGROUND_RED | BACKGROUND_GREEN));

  printf("and I'm RED ");

  SetConsoleTextAttribute(hStdOut, (BACKGROUND_GREEN));

  printf("and we both have green background!\r\n");

可用属性列表here

答案 1 :(得分:0)

#include <stdlib.h>

...
int main()
{
system("COLOR #");
...

#细分:

0 =黑色,

1 =蓝色,

2 =绿色,

3 = Aqua

等等...等等......

system(&#34; COLOR ##&#34;)//这可以为控制台提供背景和前景色

我没试过这个,但你可以尝试将颜色设置为在打印前以黄色显示,然后在打印后你可以将其重置为默认值 例如:

#include <stdlib.h>

...
system("COLOR #");
printf("%s",money);
system("COLOR #");
...