亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪(fǎng)問(wèn)板塊 發(fā)新帖
查看: 1393 | 回復(fù): 0
打印 上一主題 下一主題

[備份] 小日志類(lèi) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-01-28 09:14 |只看該作者 |倒序?yàn)g覽

#include "CLog.h"
bool CLog::open()
{
fd = ::open(logFile.c_str(), O_WRONLY | O_APPEND | O_CREAT, 0777 );
if( fd == -1 )
{
  perror("open");
  return false;
}

IsOpen = true;
return true;
}
void CLog::log(const char* format, ...)
{
std::string strTemp;
if( IsOpen )
{
  ssize_t len = 0;
  va_list ap;
  char c;
  bool IsTag = false;
  bool IsVar = false;
  
  va_start(ap, format);
  while( c = *format++ )
  {
   if(c == '%' && !IsTag )
    IsTag = true;
   else
   {
    if(IsTag && (c == 's' || c == 'c'))
    {
     IsVar = true;
    }
   
    IsTag = false;
   }
   
   //printf("%c",c);
   
   if(IsVar)
   {
    switch(c)
    {
     case 'c':
      {
       char ch = va_arg(ap, int);
       strTemp += ch;
       break;
      }
     case 's':
      {
       char *p = va_arg(ap, char*);
       strTemp += p;
       break;
      }
     default :
       strTemp += c;
    }
    IsVar = false;
   }
   else
   {
    if(!IsTag)
     strTemp += c;
   }
  }
   va_end(ap);
  
  strTemp += "\n";
  len = write(fd, strTemp.c_str(), strTemp.length());
  if( len == -1 )
  {
    perror("log");
  }
}
}
bool CLog::close()
{
if( IsOpen )
  if( ::close(fd) == -1 )
  {
   perror("close");
  }
  
IsOpen = false;
return true;
}
bool CLog::setLogFile(const std::string &newLogFile)
{
//若已經(jīng)打開(kāi),先關(guān)閉日志,所以設(shè)置了新的文件名后,需要調(diào)用者重新打開(kāi)日志
if( IsOpen )
  if( ::close(fd) == -1 )
  {
   perror("setLogFile");
   return false;
  }

IsOpen = false;
logFile = newLogFile;
return true;
}
bool CLog::flush()
{
if( IsOpen )
{
  int ret = fsync( fd );
  if( ret == -1)
  {
   perror("flush");
   return false;
  }
}
return true;
}
/*
int main()
{
CLog clog;
clog.open();
clog.log("log %s","content");
clog.log("%s log2 %s teAsbt","start","end");
return 0;
}
*/


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/109164/showart_2162786.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP