最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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);//獨(dú)占訪問
  __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);//釋放獨(dú)占訪問
}

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

相關(guān)文章

  • C/C++ Socket設(shè)置接收超時時間的多種方法

    C/C++ Socket設(shè)置接收超時時間的多種方法

    網(wǎng)絡(luò)編程中經(jīng)常需要處理的一個問題就是如何正確地處理Socket超時,對于C/C++,有幾種常用的技術(shù)可以用來設(shè)置Socket接收超時時間,在這篇文章中,我們將詳細(xì)介紹如何在C/C++中設(shè)置Socket的非阻塞模式以及如何配置接收超時時間,需要的朋友可以參考下
    2024-01-01
  • C++ 實現(xiàn)求最大公約數(shù)和最小公倍數(shù)

    C++ 實現(xiàn)求最大公約數(shù)和最小公倍數(shù)

    這篇文章主要介紹了c++ 實現(xiàn)求最大公約數(shù)和最小公倍數(shù)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C語言指針用法總結(jié)

    C語言指針用法總結(jié)

    本文詳細(xì)講解了C語言指針用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 圖文詳解c/c++中的多級指針與多維數(shù)組

    圖文詳解c/c++中的多級指針與多維數(shù)組

    多維數(shù)組與多級指針是初學(xué)者經(jīng)常感覺迷糊的一個地方。超過二維的數(shù)組和超過二級的指針其實并不多用。但只要掌握一定的方法,理解多級指針和“多維”數(shù)組完全可以像理解一級指針和一維數(shù)組那樣簡單。
    2016-08-08
  • 解析四方定理的應(yīng)用

    解析四方定理的應(yīng)用

    所有自然數(shù)至多只要用四個數(shù)的平方和就可以表示
    2013-05-05
  • C++中的unordered_map用法

    C++中的unordered_map用法

    當(dāng)你在C++中需要使用哈希表(無序映射)來管理鍵值對時,unordered_map?是一個非常有用的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了C++中的unordered_map用法,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • 利用QT實現(xiàn)圖片瀏覽器的示例詳解

    利用QT實現(xiàn)圖片瀏覽器的示例詳解

    這篇文章主要和大家分享一個小案例:利用QT制作一個小的圖片瀏覽器,要求可以顯示jpg、jpeg、png、bmp,還可以從電腦上拖動圖到窗口并顯示出來,感興趣的可以了解一下
    2023-02-02
  • C++?超詳細(xì)示例講解list的使用

    C++?超詳細(xì)示例講解list的使用

    list是一種序列式容器。list容器完成的功能實際上和數(shù)據(jù)結(jié)構(gòu)中的雙向鏈表是極其相似的,list中的數(shù)據(jù)元素是通過鏈表指針串連成邏輯意義上的線性表,也就是list也具有鏈表的主要優(yōu)點,即:在鏈表的任一位置進(jìn)行元素的插入、刪除操作都是快速的
    2022-07-07
  • C++實現(xiàn)路口交通燈模擬系統(tǒng)

    C++實現(xiàn)路口交通燈模擬系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)路口交通燈模擬系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言開發(fā)實現(xiàn)掃雷游戲

    C語言開發(fā)實現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言開發(fā)實現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11

最新評論

永平县| 仙游县| 建水县| 湄潭县| 增城市| 汶川县| 玉树县| 东光县| 静乐县| 仁寿县| 原阳县| 安乡县| 海淀区| 永德县| 北票市| 依兰县| 阳春市| 洪洞县| 二连浩特市| 黎城县| 垫江县| 西乌珠穆沁旗| 东兰县| 辰溪县| 九龙坡区| 波密县| 咸丰县| 扶余县| 无棣县| 玉树县| 灵璧县| 达拉特旗| 兴和县| 封开县| 黔西县| 梅河口市| 邵阳县| 西盟| 拉孜县| 梨树县| 淮南市|