欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 格式化日志輸出實現(xiàn)代碼

 更新時間:2019年04月07日 21:23:42   作者:lzpong  
這篇文章主要介紹了C++ 格式化日志輸出實現(xiàn)代碼,需要的朋友可以參考下

核心代碼

void LogOut(LPCTSTR pFormat, ...)
{
  char LogFile[128]={0};
  char str[1024]={0};
  FILE** fp=&(ThreadDatas[0].pf);
 
  va_list pArg;
 
  EnterCriticalSection(&cs_log);//獨占訪問
  __try
  {
    SYSTEMTIME st;
    if(ThreadDatas[0].num>100000)//10W條一個文件
    {
      if(fp)
      {
        fclose(*fp);
        *fp=0;
      }
      ThreadDatas[0].num=0;
    }
    if(NULL==*fp)
    {
      char tstr[20]={0};
      //GetSystemTime(&st);
      GetLocalTime(&st);
      sprintf(LogFile,".\\logs\\ASR_%04d-%02d-%02d.%02d_%02d_%02d.log",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond);
      *fp=fopen(LogFile,"a+");
      if( NULL==*fp )
      {
      //printf("Create LogFile faile %s\n",LogFile);
        LogEvent("Create LogFile faile %s",LogFile);
        return;
      }
      //else
      //LogEvent("Create LogFile %s",LogFile,*fp);
    }
    GetLocalTime(&st);
    sprintf(str,"%04d-%02d-%02d %02d:%02d:%02d.%03d %s",st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond,st.wMilliseconds,pFormat);
    va_start(pArg, pFormat);
    //fprintf(*fp,chMsg);
    vfprintf(*fp, str, pArg);
    va_end(pArg);
    fflush(*fp);
  }
  __except(EXCEPTION_EXECUTE_HANDLER)
  {
    LogEvent("Thread Log file Error:%s",LogFile);
  }
  LeaveCriticalSection(&cs_log);//釋放獨占訪問
}

好了,這篇文章就結束到這,后續(xù)腳本之家小編會為大家提供更多的代碼。

相關文章

  • 關于C++函數模版的實現(xiàn)講解

    關于C++函數模版的實現(xiàn)講解

    今天小編就為大家分享一篇關于關于C++函數模版的實現(xiàn)講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++ 關于MFC List Control 控件的總結

    C++ 關于MFC List Control 控件的總結

    這篇文章主要介紹了C++ 關于MFC List Control 控件的總結的相關資料,十分的詳細,有需要的朋友可以參考下
    2015-06-06
  • Qt實現(xiàn)無邊框窗口的示例代碼

    Qt實現(xiàn)無邊框窗口的示例代碼

    本文主要介紹了Qt實現(xiàn)無邊框窗口的示例代碼,主要包括鼠標光標在不同區(qū)域的變化,關閉拖動窗口,窗口支持任意拉伸等,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • c++實現(xiàn)解析zip文件的示例代碼

    c++實現(xiàn)解析zip文件的示例代碼

    這篇文章主要為大家詳細介紹了如何利用c++實現(xiàn)解析zip文件,并對流式文件pptx內容的修改,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下
    2023-12-12
  • C++選擇排序算法實例詳解

    C++選擇排序算法實例詳解

    這篇文章主要為大家詳細介紹了C++選擇排序算法實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • C++中volatile關鍵字的使用詳解以及常見的誤解

    C++中volatile關鍵字的使用詳解以及常見的誤解

    volatile 關鍵字是一種類型修飾符,用它聲明的類型變量表示可以被某些編譯器未知的因素更改,比如:操作系統(tǒng),硬件或者其他線程等
    2020-01-01
  • c語言數據結構之并查集 總結

    c語言數據結構之并查集 總結

    一種用于管理分組的數據結構。它具備兩個操作:(1)查詢元素a和元素b是否為同一組 (2) 將元素a和b合并為同一組,需要的朋友可以參考下
    2018-08-08
  • VC6實現(xiàn)激活后臺窗口最佳方法

    VC6實現(xiàn)激活后臺窗口最佳方法

    這篇文章主要介紹了VC6實現(xiàn)激活后臺窗口最佳方法,實例分析了VC操作后臺窗口的技巧,需要的朋友可以參考下
    2015-06-06
  • C++ 中將一維數組轉成多維的三種方式示例詳解

    C++ 中將一維數組轉成多維的三種方式示例詳解

    這篇文章主要介紹了C++ 中將一維數組轉成多維的三種方式,每種方式結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-12-12
  • 聊一聊C++虛函數表的問題

    聊一聊C++虛函數表的問題

    C++是面向對象的語言(與C語言主要區(qū)別),所以C++也擁有多態(tài)的特性。下面通過代碼看下C++虛函數表的問題,感興趣的朋友一起看看吧
    2021-10-10

最新評論