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

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

 更新時(shí)間:2019年04月07日 21:23:42   作者:lzpong  
這篇文章主要介紹了C++ 格式化日志輸出實(shí)現(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條一個(gè)文件
    {
      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ù)腳本之家小編會(huì)為大家提供更多的代碼。

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    C++中的unordered_map用法

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

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

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

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

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

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

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

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

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

最新評(píng)論

斗六市| 上虞市| 凤凰县| 定南县| 新密市| 乐亭县| 咸宁市| 镇安县| 河间市| 绥德县| 湘阴县| 九龙坡区| 新竹市| 陵川县| 珠海市| 永吉县| 北川| 江门市| 囊谦县| 嘉兴市| 淮阳县| 巴彦淖尔市| 镇安县| 新津县| 兰西县| 淳化县| 阿尔山市| 德州市| 仪陇县| 安龙县| 陇南市| 澎湖县| 阜城县| 黄陵县| 平顺县| 增城市| 金坛市| 会同县| 如皋市| 隆化县| 方正县|