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

📄 log.cpp

📁 游戏编程很好的东西大家看看啊可以学到很多东西
💻 CPP
字号:
// Log.cpp: implementation of the CLog class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Log.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLog::CLog()
{
	m_b_open = TRUE;

	SetIniFileName( "DefaultLogFileName.log" );
}

CLog::CLog(char* szFileName)
{
	m_b_open = TRUE;

	SetIniFileName( szFileName );
}

CLog::~CLog()
{

}

/*---------------------------------------------------------------------------------
功能:读取文件的内容
说明:
返回:成功,0;失败,其它数值
---------------------------------------------------------------------------------*/
int	CLog::ReadFromFile( HANDLE file_handle, LPVOID buf, DWORD dwRead, DWORD* dwReaded )
{
	if( !ReadFile( file_handle, (LPVOID)buf, dwRead, dwReaded, NULL ) )
	{
		return 4;
	}

	if( dwRead != ( *dwReaded ) )
	{
		CloseHandle( file_handle );

		return 5;
	}

	return 0;
}

/*---------------------------------------------------------------------------------
功能:向文件写入内容
说明:
返回:成功,0;失败,其它数值
---------------------------------------------------------------------------------*/
int	CLog::WriteToFile( HANDLE file_handle, LPVOID buf, DWORD dwWrite, DWORD* dwWrote )
{
	DWORD dwRet;

	dwRet = SetFilePointer( file_handle, 0, 0, FILE_END );
	if( dwRet == 0xFFFFFFFF )
	{
		if( GetLastError() != NO_ERROR )
		{
			return 4;
		}
	}
	
	if( !WriteFile( file_handle, (LPVOID)buf, dwWrite, dwWrote, NULL ) )
	{
		return 5;
	}

	if( dwWrite != ( *dwWrote ) )
	{
		CloseHandle( file_handle );

		return 6;
	}

	return 0;
}

/*---------------------------------------------------------------------------------
功能:打开日志类
说明:
返回:
---------------------------------------------------------------------------------*/
void CLog::Open()
{
	m_b_open = TRUE;
}

/*---------------------------------------------------------------------------------
功能:关闭日志类
说明:
返回:
---------------------------------------------------------------------------------*/
void CLog::Close()
{
	m_b_open = FALSE;
}

/*---------------------------------------------------------------------------------
功能:保存日志内容
说明:
返回:
---------------------------------------------------------------------------------*/
void CLog::SaveMessage(char* szMessage)
{
	if( !m_b_open )
	{
		return;
	}

	HANDLE	file_handle;
	DWORD	dwWrote;
	char	buf[1024];

	strcpy( buf, szMessage );

	strcat( buf, "\r\n" );

	file_handle = CreateFile( m_file_name, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

	if( file_handle == INVALID_HANDLE_VALUE )
	{
		return;
	}
	
	if( !WriteToFile( file_handle, (LPVOID)buf, strlen( buf ), &dwWrote ) )
	{
		CloseHandle( file_handle );

		return;
	}

	CloseHandle( file_handle );
}

⌨️ 快捷键说明

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