C++控制台输出彩色文字

// test.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include 
#include 
#include 
#include 

using namespace std;

void cprintf(char* str, WORD color, ...);

int main() {
	cprintf("H", 10);
	cprintf("e", 9);
	cprintf("l", 12);
	cprintf("l", 11);
	cprintf("o", 13);
	cprintf(" ", 10);
	cprintf("W", 15);
	cprintf("o", 2);
	cprintf("r", 5);
	cprintf("l", 8);
	cprintf("d", 14);
	cprintf("!", 4);
	return 0;
}

void cprintf(char* str, WORD color, ...) {
	WORD colorOld;
	HANDLE handle = ::GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_SCREEN_BUFFER_INFO csbi;
	GetConsoleScreenBufferInfo(handle, &csbi);
	colorOld = csbi.wAttributes;
	SetConsoleTextAttribute(handle, color);
	cout << str;
	SetConsoleTextAttribute(handle, colorOld);
}



wAttributes 颜色 对应的值
FOREGROUND_BLUE 字体颜色:蓝 1
FOREGROUND_GREEN 字体颜色:绿 2
FOREGROUND_RED 字体颜色:红 4
FOREGROUND_INTENSITY 前景色高亮显示 8
BACKGROUND_BLUE 背景颜色:蓝 16
BACKGROUND_GREEN 背景颜色:绿 32
BACKGROUND_RED
背景颜色:红
64
BACKGROUND_INTENSITY 背景色高亮显示 128

你可能感兴趣的:(C/C++)