注意:发布文章禁止使用领导人实名! | 登录 | 注册 - 在线投稿
返回首页您现在的位置: 美文 > 经典日志 > 文章内容

feeling的专栏(2)

作者:心扉美文 来源: www.xfmw.cn 时间: 2014-01-15 阅读: 在线投稿

  if(FindFirstFile(szPath, &wfd) == INVALID_HANDLE_VALUE && CreateDirectory(szPath, NULL) == 0)
  {
   strcat(strcpy(temp, szPath), " Create Fail. Exit Now! Error ID :");
   ltoa(GetLastError(), temp + strlen(temp), 10);
   MessageBox(NULL, temp, "Class LogFileEx", MB_OK);
   exit(1);
  }
  else
  {
   GetFullPathName(szPath, MAX_PATH, temp, NULL);
   _szPath = new char[strlen(temp) + 1];
   assert(_szPath);
   strcpy(_szPath, temp);
  }
 }

public:

 enum LOG_TYPE{YEAR = 0, MONTH = 1, DAY = 2};

 LogFileEx(const char *szPath = ".", LOG_TYPE iType = MONTH)
 {
  _szPath = NULL;
  SetPath(szPath);
  _iType = iType;
  memset(_szLastDate, 0, 9);
 }

 ~LogFileEx()
 {
  if(_szPath)
   delete []_szPath;
 }

 const char * GetPath()
 {
  return _szPath;
 }

 void Log(LPCVOID lpBuffer, DWORD dwLength)
 {
  assert(lpBuffer);

  char temp[10];
  static const char format[3][10] = {"%Y", "%Y-%m", "%Y%m%d"};
 
  __try
  {
   Lock();
  
   time_t now = time(NULL);

   strftime(temp, 9, format[_iType], localtime(&now));

   if(strcmp(_szLastDate, temp) != 0)//更换文件名
   {
    strcat(strcpy(_szFileName, _szPath), "//");
    strcat(strcat(_szFileName, temp), ".log");
    strcpy(_szLastDate, temp);
    Close();
   }

   if(!OpenFile())
    return;
  
   WriteLog(lpBuffer, dwLength);
  }
  __finally
  {
   Unlock();
  }
 }

 void Log(const char *szText)
 {
  Log(szText, strlen(szText));
 }

private://屏蔽函数

 LogFileEx(const LogFileEx&);
 LogFileEx&operator = (const LogFileEx&);

};

#endif

 

  • 上一篇:经典仿真日记本 5.0 绿色特别版
  • 下一篇:黑白经典装修日记
  • 相关阅读

    发表文章