📄 log.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 + -