• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 我的CLog的實現

    發表于:2007-07-01來源:作者:點擊數: 標簽:
    改編于一個老外的同名作品。 ############ log.h ################# //=========================================================================== // //HomeWork from BelgiumNot licensed software //1999 - 2000No rights reserved // //============

    改編于一個老外的同名作品。

    ############  log.h #################

    //===========================================================================
    //
    // HomeWork from Belgium   Not licensed software 
    // 1999 - 2000      No rights reserved
    //
    //===========================================================================
    //
    // Project/Product : Iconizer DLL
    //  FileName  : log.h
    // Author(s)  : Bart Gysens
    //
    // Description  : Declaration of CLog class
    //
    // Classes   : CLog
    //
    // Information  :
    //   Compiler(s) : Visual C++ 6.0
    //   Target(s)  : Windows 95/98 and Windows NT (x86)
    //   Editor  : Visual C++ 6.0 internal editor
    //
    // History
    // Vers.  Date        Aut.  Type     Description
    //  -----  ----------  ----  -------  -----------------------------------------
    // 1.00   22 05 1999  BG    Create   Original
    //  1.01   20 12 2000  hewen Add
    //  1.03   24 10 2001  hewen Add
    //  1.04   10 06 2003  hewen Add
    //===========================================================================

    #ifndef _LOG_H_INCLUDED__
    #define _LOG_H_INCLUDED__

    //===========================================================================
    // Macros and typedefs
    //===========================================================================


    //===========================================================================
    //
    // Class   : CLog
    // Author(s)  : Bart Gysens
    //
    // Description  : Declaration of the CLog class
    //
    // Comments  : none
    //
    // History   : 1.00  : Create
    //                      1.01  : hewen Add
    //                      1.03  : hewen Add
    //                      1.04  : hewen Add
    //===========================================================================

    class CLog
    {
     // Member functions
     public:
     CLog();

     public:
     static void PutLog( LPCTSTR pFmt, ... );
     
    //1.01
     static void SetFile(LPCTSTR FileName);
    //1.03
     static void Delete(void);
    //1.04
     static void PutLogBinary(VOID *pMem,DWORD Length,BOOL bTxt);
     static void MessageBox( LPCTSTR pFmt, ... );


    };

    #endif // _LOG_H_INCLUDED__

     

    ############  log.cpp #################

    //===========================================================================
    //
    // HomeWork from Belgium   Not licensed software 
    // 1999 - 2000      No rights reserved
    //
    //===========================================================================
    //
    // Project/Product : Iconizer DLL
    //  FileName  : log.cpp
    // Author(s)  : Bart Gysens
    //
    // Description  : Declaration of CLog class
    //
    // Classes   : CLog
    //
    // Information  :
    //   Compiler(s) : Visual C++ 6.0
    //   Target(s)  : Windows 95/98 and Windows NT (x86)
    //   Editor  : Visual C++ 6.0 internal editor
    //
    // History
    // Vers.  Date        Aut.  Type     Description
    //  -----  ----------  ----  -------  -----------------------------------------
    // 1.00   22 05 1999  BG    Create   Original
    //  1.01   20 12 2000  hewen Add
    //  1.03   24 10 2001  hewen Add
    //  1.04   16 06 2003  hewen Add      My BirthDay
    //===========================================================================

    #include "stdafx.h"
    #include "stdio.h"
    //1.01
    #include "stdlib.h"
    #include "log.h"

    //===========================================================================
    // Macros and typedefs
    //===========================================================================

    //===========================================================================
    //
    // Class   : CLog
    // Author(s)  : Bart Gysens
    //
    // Description  : Declaration of the CLog class
    //
    // Comments  : none
    //
    // History   : 1.00  : Create
    //                      1.01  : hewen Add
    //                      1.03  : hewen Add
    //                      1.04  : hewen Add
    //===========================================================================

    //1.01
    static char gLogFileName[_MAX_PATH] = "LOG.TXT";

    CLog::CLog()
    {
    }

    void CLog::PutLog( LPCTSTR pFmt, ... )
    {
    //1.02
    #ifdef _DEBUG_LOG

     FILE * pFile;
    //1.01
     pFile = fopen( gLogFileName, "ab" );
    //1.00
    // pFile = fopen( "C:\\LOG.TXT", "a" );

     if ( pFile != NULL )
     {
      va_list arg;
      va_start( arg, pFmt );
      vfprintf( pFile, pFmt, arg );
      va_end( arg );
      fclose( pFile );
     }
    #endif
    }

    //1.01
    void CLog::SetFile(LPCTSTR FileName)
    {
    //1.02
    #ifdef _DEBUG_LOG
     strncpy(gLogFileName,FileName,_MAX_PATH);
    #endif
    }

    //1.03
    void CLog::Delete(void)
    {
    #ifdef _DEBUG_LOG
     DeleteFile(gLogFileName);
    #endif
    }

    //1.04
    void CLog::PutLogBinary(VOID *pMem,DWORD Length,BOOL bTxt)
    {
    #ifdef _DEBUG_LOG
     FILE * pFile;
     int Row, r, i, j;

     if(pMem == NULL || Length <= 0)
      return;

     pFile = fopen( gLogFileName, "ab" );

     unsigned char *P = (unsigned char *)pMem;

     unsigned char txtBuff[16];

     if ( pFile != NULL )
     {
      if(!bTxt)
      {
       fwrite(P,Length,1,pFile);
      }
      else
      {
       Row = Length / 16;
       r   = Length % 16;

       for(i=0;i<Row;i++)
       {
        fprintf(pFile,"%04x:",i);
        for(j=0;j<16;j++)
        {
         fprintf(pFile,"%c%02X",(j == 8 ? ´-´ : ´ ´),*P);
         txtBuff[j] = isgraph(*P) ? *P : ´.´;
         P ++;
        }

        fprintf(pFile," | ");
        fwrite(txtBuff,16,1,pFile);
        fprintf(pFile,"\r\n");
       }

       fprintf(pFile,"%04x:",Row);
       for(i=0;i<16;i++)
       {
        if(i < r)
        {
         fprintf(pFile,"%c%02X",(j == 8 ? ´-´ : ´ ´),*P);
         txtBuff[j] = isgraph(*P) ? *P : ´.´;
        }
        else
        {
         fprintf(pFile,"   ");
         txtBuff[j] = ´ ´;
        }
        P ++;
       }

       fprintf(pFile," | ");
       fwrite(txtBuff,16,1,pFile);
       fprintf(pFile,"\r\n");
      }

      fprintf(pFile,"\r\n");
      fclose( pFile );
     }

    #endif
    }

    //1.04
    #include "windows.h"
    void CLog::MessageBox( LPCTSTR pFmt, ... )
    {
    #ifdef _DEBUG_LOG
     char buff[1024];
     buff[0] = 0;
     va_list arg;
     va_start( arg, pFmt );
     vsprintf( buff, pFmt, arg );
     va_end( arg );
     AfxMessageBox(buff,MB_OK,0);
    #endif
    }

     


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>