寫了個(gè)log類。但是越寫越覺得不對(duì)勁,越寫發(fā)現(xiàn)越需要擴(kuò)充。。 最大的問題是發(fā)現(xiàn)封裝成類后反而別扭- -主要應(yīng)該還是自己功底不夠吧。 -最后用C語言,InitLog(),WriteLog(),CloseLog(). 三個(gè)函數(shù)搞定。暫且滿足程序的需要,雖然CloseLog()這個(gè)函數(shù)也不是必須地,不過加上能讓跟蹤出的log信息更完整吧。
//////////////////////////////////////////////////////////////////////////////////////////
//wde_log.h ////////////////////////////////////////////////////////////////////////////////////////// #ifndef WDE_LOG_H #define WDE_LOG_H #include <windows.h> #include <cstdio> using namespace std; #define LOGFILENAME “l(fā)og.txt” void OpenLog(); void GameLog(const char* p_Message, bool p_bNeedTime = true); void CloseLog(); #endif ////////////////////////////////////////////////////////////////////////////////////////// //wde_log.cpp ////////////////////////////////////////////////////////////////////////////////////////// #include “wde_Log.h” void OpenLog() { FILE *logfile; logfile = fopen(LOGFILENAME, “w”); if (!logfile) { MessageBox(NULL, “無法創(chuàng)建日志文件,程序終止”, “ERROR”,MB_OK); return; } fputs(”打開應(yīng)用程序日志文件/n”,logfile); fputs(”———————————————————————-/n”,logfile); } void GameLog(const char* p_Message, bool p_bNeedTime /* = true */) { FILE *writelog; writelog = fopen(LOGFILENAME, “a+”); if (!writelog) { MessageBox(NULL,”無法寫入日志文件,程序終止”, “ERROR”, MB_OK); return; } static SYSTEMTIME CurrentTime; GetLocalTime(&CurrentTime); if (p_bNeedTime) { fprintf(writelog,”%2d/%2d/%4d “, CurrentTime.wMonth, CurrentTime.wDay, CurrentTime.wYear); fprintf(writelog,”%2d:%2d:%2d “,CurrentTime.wHour, CurrentTime.wMinute, CurrentTime.wSecond); } fputs(p_Message, writelog); } void CloseLog() { FILE *closefile; closefile = fopen(LOGFILENAME, “a+”); if (!closefile) { MessageBox(NULL,”無法寫入日志文件,程序終止”, “ERROR”, MB_OK); return; } fputs(”———————————————————————-/n”,closefile); fputs(”關(guān)閉應(yīng)用程序日志文件/n”,closefile); } ////////////////////////////////////////////////////////////////////////////////////////// |
|