⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 console.cpp

📁 一个自己写的游戏引擎,用DirectX 写成
💻 CPP
字号:
//--------------------------------------------------
//  Desc: 控制台
//  Author: artsylee/2007.1.26
//--------------------------------------------------
#include "../stdafx.h"
#include "Console.h"
#include <locale>

CConsole::CConsole()
{

}

CConsole::~CConsole()
{

}

BOOL CConsole::CreateConsole()
{
	return AllocConsole();
}

void CConsole::Print(const char *text)
{
	if(text == NULL || text[0] == 0)
		return;
	
	string szInfo = text;
	m_buffer.push_back(szInfo);
	DWORD nlen;
	WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), text, strlen(text), &nlen, NULL);
}

void CConsole::Close()
{
	FreeConsole();
}

void CConsole::Printf(const char *format, ...)
{
	char buffer[1024]; 
	va_list args;
	va_start(args, format);
	_vsnprintf(buffer, 1024, format, args);
	va_end(args);
	buffer[1023] = '\0';
	Print(buffer);
}

void CConsole::Clear()
{
	m_buffer.clear();
}

void CConsole::SaveToLogFile(const char *file)
{
	char outname[256];
	if(file==NULL)
	{
		strcpy(outname, "Console_log.html");
	}
	else
	{
		strcpy(outname, file);
		strcat(outname, ".html");
	}

	ofstream f;
	f.open(outname);
	f<<"<HTML>"<<endl;
	f<<"<HEAD>"<<endl;
	f<<"<TITLE>Console Log </TITLE>"<<endl;
	for(unsigned i=0; i<m_buffer.size(); i++)
	{
		f<<m_buffer[i].c_str();
		f<<"<br>";
	}
	f<<"</HEAD>"<<endl;
	f<<"</HTML>"<<endl;
	f.close();
}

void CConsole::Log(const char *format, ...)
{
	char buffer[1024]; 
	va_list args;
	va_start(args, format);
	_vsnprintf(buffer, 1024, format, args);
	va_end(args);
	buffer[1023] = '\0';
	string s = buffer;
	m_buffer.push_back(s);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -