获取可执行文件目录

inline CString GetExeDir(){ TCHAR szPath[ MAX_PATH ] = { 0 }; GetModuleFileName( NULL, szPath, MAX_PATH ); CString csFullPath( szPath ); int nPos = csFullPath.ReverseFind( _T( '\\' ) ); if( nPos < 0 ) return CString( "" ); else return csFullPath.Left( nPos );}写日志函数

#include <locale> inline void WriteLog( const CString& strLog ){ setlocale( LC_CTYPE, ( "chs" ) );//写入中文 CTime tm = CTime::GetCurrentTime(); CString strLogDir = GetExeDir() + "/Log/" + tm.Format( "%Y-%m" ); if( !PathIsDirectory( strLogDir ) ) CreateDirectory( strLogDir, 0 ); CString strFilePath = strLogDir + tm.Format( "/Sensitive-%Y-%m-%d.txt" ); CString strLogText = tm.Format( "[%Y-%m-%d %H:%M:%S]: " ) + strLog; CStdioFile file; BOOL bOpen = file.Open( strFilePath, CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate ); if( !bOpen ) return; file.SeekToEnd(); file.WriteString( strLogText ); file.WriteString( _T( "\r\n" ) );//换行 file.Flush(); file.Close();}