获得控制台输入输出句柄
- 函数原型: 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;
}
结果: