一个方便调试所使用的方法

    技术2022-05-11  118

    由于调试及需要可能会经常要记录相关的信息至文件中以便查看,所以写了这个方法,希望对大家有用。 #pragma once

    #i nclude <fcntl.h>#i nclude <sys/types.h>#i nclude <sys/stat.h>#i nclude <io.h>#i nclude <stdio.h>

    int LogWrite(const char *Format, ...);CFile g_logFile = CFile::hFileNull;

    BOOL InitLogFile() {  try  {   g_logFile.Open("RunMsgLog.txt", CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite);  }  catch (CFileException *e)  {   e->Delete();   return FALSE;  }  return TRUE; }

    /**************************************************************   函数名:LogWrite*   说明:  写入程序相关的信息至文件**************************************************************/int LogWrite(const char *Format, ...){ CHAR Buffer0[1024]; CHAR Buffer1[512]; DWORD ItemsWritten; va_list ArgumentList;

     if (g_logFile.m_hFile == CFile::hFileNull) {  if (!InitLogFile())   return -1; }

     if (g_logFile == -1)  return -1;

     SYSTEMTIME sysTime; GetLocalTime (&sysTime);

     sprintf (Buffer0, "d年d月d日: d:d:d-> ", sysTime.wYear, sysTime.wMonth, sysTime.wDay, sysTime.wHour,   sysTime.wMinute, sysTime.wSecond);

     va_start ( ArgumentList, Format);  ItemsWritten = vsprintf ((char *)Buffer1, Format, ArgumentList ); va_end ( ArgumentList ); strcat (Buffer0, Buffer1); strcat (Buffer0, "/r"); strcat (Buffer0, "/n");  g_logFile.Seek(0, CFile::end);

     g_logFile.Write(Buffer0, strlen((const char *)Buffer0 ));

     return 1; } 在需要记录信息的地方加入此头文件,如下使用即可: long lbegin = ::GetCurrentTime(); // 记录进创建的日志文件。 LogWrite("共用时 %d 毫秒", (lbegin - GetCurrentTime()) / 1000000); LogWrite("完成操作");  

    最新回复(0)