MFC: 獲取可執行文件目錄 + 寫日誌函數
阿新 • • 發佈:2019-03-18
file filename turn close std director seek cti ctime 獲取可執行文件目錄
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(); }
MFC: 獲取可執行文件目錄 + 寫日誌函數