Parámetros variables de registro de la consola de impresión C++ y personalización del color

Suele haber mucha información impresa durante la depuración. Para distinguir mejor la "prioridad", se ha modificado la función de impresión de registros.

Puede pasar parámetros de cantidad variable y tipo de variable, y también puede personalizar el color del texto de salida y cargar directamente el código a continuación.

Log(LOG_NORMAL, "========================================");
	Log(LOG_NORMAL, "========================================");
	Log(LOG_NORMAL, "========================================\n\n");
	Log(LOG_NORMAL, "测试输出颜色 :%d", LOG_NORMAL);
	Log(LOG_TIPS, "测试输出颜色 :%d", LOG_TIPS);
	Log(LOG_ERR, "测试输出颜色 :%d", LOG_ERR);
	
	Log(LOG_NORMAL, "========================================");
	Log(LOG_NORMAL, "========================================");
	Log(LOG_NORMAL, "========================================\n\n");

 

 

 

#pragma once
#include <windows.h>
#include<stdarg.h>
#include <stdio.h>
#include "stdafx.h"
using namespace std;

enum LOGTYPE
{
	LOG_NORMAL, LOG_TIPS, LOG_ERR
};

/* color
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 10 = 淡绿色
3 = 浅绿色 11 = 淡浅绿色
4 = 红色 12 = 淡红色
5 = 紫色 13 = 淡紫色
6 = 黄色 14 = 淡黄色
7 = 白色 15 = 亮白色
*/

static void Log(LOGTYPE nType, const char* format,...)
{
	WORD color = 7;
	switch (nType)
	{
	case LOG_NORMAL: color = 0; break;
	case LOG_TIPS: color = 3; break;
	case LOG_ERR: color = 4; break;
	}
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color);
	
	
	
	char buf[1024];
	va_list ap;
	va_start(ap, format);
	vsprintf(buf, format, ap);
	cout << "[TIPS]" << (buf) << "\n";

	SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7);
}

Supongo que te gusta

Origin blog.csdn.net/Yang9325/article/details/129024239
Recomendado
Clasificación