您的位置:首页 > 编程语言 > C语言/C++

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

2014-08-04 13:29 513 查看


获得控制台输入输出句柄

函数原型: 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;
}


结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: