寫了一個用來寫log資訊的小程式

來源:互聯網
上載者:User

寫了個log類。但是越寫越覺得不對勁,越寫發現越需要擴充。。

最大的問題是發現封裝成類後反而彆扭- -主要應該還是自己功底不夠吧。

最後用C語言,InitLog(),WriteLog(),CloseLog(). 三個函數搞定。暫且滿足程式的需要,雖然CloseLog()這個函數也不是必須地,不過加上能讓跟蹤出的log資訊更完整吧。

 

//////////////////////////////////////////////////////////////////////////////////////////
//wde_log.h
//////////////////////////////////////////////////////////////////////////////////////////
#ifndef WDE_LOG_H
#define WDE_LOG_H
#include <windows.h>
#include <cstdio>
using namespace std;

#define LOGFILENAME “log.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, “無法建立記錄檔,程式終止”, “ERROR”,MB_OK);
        return;
    }
    fputs(”開啟應用程式記錄檔檔案/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(”關閉應用程式記錄檔檔案/n”,closefile);
}
//////////////////////////////////////////////////////////////////////////////////////////

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.