变长参数的函数写法

//***************************************************************************************** 
//                Template No. SWF0012   Template Version No. 04.04.00 
// 
//***************************************************************************************** 
//   FUNCTION NAME    : PrintLog() 
// 
//-------------------------------------------------- PURPOSE ----------------------------------------- 
// 
//     Print a text in log file 
//---------------------------------------- $$ REQUIREMENTS $$ ---------------------------------------- 
// 
//  Format: $${TAG} R[#][Prod. ID]:Specification Path 
// 
//               $$:    ISGcq00622453 
//                TAG:    [APP_GEN] 
//              R #:    R[29] 
//            Prod.ID:  
//        Spec. Path:   /vob/ 
// 
// 
// 
//-------------------- PSEUDO CODE / DETAILED FUNCTION DESCRIPTION ------------------- 
// 
//            Creates a log file with the phone info 
// 
//------------------------------------------------ REVISIONS ------------------------------------------ 
// Date       Name                 Tracking #     Description 
// ---------  -------------------  -------------  ------------------------------ 
// 26ARP2011  Feng Liu             ISGcq00622453  Initial Creation 
//***************************************************************************************************** 
// 
//----------------------------------------- FUNCTION DEFINITION --------------------------------------- 
void FeatureDisableDlg::PrintLog(CString& message) 
{ 
    if(APPLICATION_VERSION[0] != 'R') 
    { 
        try 
        { 
            //verify if it is already opened 
            if (m_logFile.m_hFile == CFile::hFileNull) 
            { 
                if(m_logFile.Open(LOG_FILE_NAME, 
                        CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite)) 
                { 
                    m_logFile.SeekToEnd(); 
                    CString log; 
                    log.Format("=====================================================\n",log); 
                    time_t rawtime; 
                    time ( &rawtime ); 
                    char timeStr[0x100];

                    if(!ctime_s(timeStr, 0x100, &rawtime)) { 
                        log.Format("Execution date: %s", timeStr); 
                    } else { 
                        log.Format("Execution date: %s", "Can not read the time."); 
                    }

                    m_logFile.Write(log, log.GetLength()); 
                } 
            } 
            m_logFile.Write(message, message.GetLength()); 
        } 
        catch (...) 
        { 
        } 
    } 
}void FeatureDisableDlg::PrintLog(const char* message, ...) 
{ 
//  if(APPLICATION_VERSION[0] != 'R') 
  if(1) 
  { 
      va_list list; 
      va_start(list, message); 
      char szBuffer[MAX_OUTPUT_TEXT_SIZE]; 
      _vsnprintf_s(szBuffer, sizeof(szBuffer), message, list);

      CString log(szBuffer); 
      PrintLog(log);

      va_end(list); 
  } 
}

发表于 @ 2011年04月26日 10:13:00 | 评论( 0 ) | 编辑| 举报| 收藏 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/asiainfolf/archive/2011/04/26/6363397.aspx

posted on 2011-04-26 10:18  sohu2000000  阅读(302)  评论(0编辑  收藏  举报

导航