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
  • 说明: 用于设置文本前景色和背景色,只对在其后的文本输出或输入


例子:

#include <iostream>
#include <windows.h>

#define green FOREGROUND_GREEN
#define yellow FOREGROUND_RED | FOREGROUND_GREEN
#define white FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE

int main()
{
	HANDLE outPutHandle = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(outPutHandle, green);
	
	std::cout << "Hello World!" << std::endl;
	
	SetConsoleTextAttribute(outPutHandle, yellow);
	
	std::cout << "Hello World!" << std::endl;
	
	SetConsoleTextAttribute(outPutHandle, white);
	
	return 0;
}

结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值