C++ 更改控制台显示文本颜色

C++ 更改控制台显示文本颜色

 

两种方法

一种方法


获得控制台输入输出句柄

  • 函数原型: HANDLE GetStdHandle(DWORD nStdHandle);
  • 参数:
    • nStdHandle定义函数返回的是标准输入或标准输出或标准错误的句柄.取值为一下
      • STD_INPUT_HANDLE 标准输入
      • STD_OUTPUT_HANDLE 标准输出
      • STD_ERROR_HANDLE 标准错误
  • 返回值:
    • 如果函数成功,这个返回值为设备资源句柄
    • 如果函数是吧,返回值是INVALID_HANDLE_VALUE标准,如果想要知道错误信息,调用GetLastError函数去获得
  • 头文件: window.h
  • 说明: 返回一个标准输入或输出或错误的句柄

设置控制台输入输出文本前景色背景色

  • 函数原型: BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput,WORD wAttributes );
  • 参数:
    • hConsoleOutput 控制台的资源句柄, 该句柄必须具有GENERIC_READ访问权限
    • wAttributes设置文本前景色和背景色的具体值,取值如下,可以使一个或 者组合
      • FOREGROUND_BLUE 前景色为蓝
      • FOREGROUND_GREEN 前景色为绿
      • FOREGROUND_RED 前景色为红
      • FOREGROUND_INTENSITY 前景色为强光
      • BACKGROUND_BLUE 背景色为蓝
      • BACKGROUND_GREEN 背景色为绿
      • BACKGROUND_RED 背景色为红
      • BACKGROUND_INTENSITY 背景色为强光
  • 头文件: window.h
  • 说明: 用于设置文本前景色和背景色,只对在其后的文本输出或输入

使用步骤
声明一个 HANDLE句柄并获得标准输出句柄用GetStdHandle(STD_OUTPUT_HANDLE)

调用SetConsoleTestAttribute函数设置文本前景色和背景色

例子:

实现一个在 dos 界面上的色彩菜单:

View Code

输出结果:

另一种方法


设置控制台输入输出前景色背景色

  • 函数原型:
    • int system( const char *command );
    • int _wsystem( const wchar_t *command );
  • 参数:
    • command为"color xy"color为关键字,x为背景色,y为前景色.x,y可以取值为
      • 0=黑色
      • 1=蓝色
      • 2=绿色
      • 3=湖蓝色
      • 4=红色
      • 5=紫色
      • 6=黄色
      • 7=白色
      • 8=灰色
      • 9=淡蓝色
      • A=淡绿色
      • B=淡浅绿色
      • C=淡红色
      • D=淡紫色
      • E=淡黄色
      • F=亮白色
  • 头文件:cstdlib

 例子:

使控制台背景为量白色,文本字体颜色为蓝色:

复制代码
 1 #include<iostream>  
 2 #include<cstdlib>    
 3 //头文件定义
 4 using namespace std;
 5 
 6 int main()
 7 //主函数
 8 {
 9     system("color F1");
10     cout<<"change!"<<endl;
11     system("pause");
12     return 0;
13 }
复制代码

输出结果:

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值