免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3638 | 回复: 5
打印 上一主题 下一主题

[C] 变长参数的函数写法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-26 10:25 |只看该作者 |倒序浏览
  1. //*****************************************************************************************
  2. //                Template No. SWF0012   Template Version No. 04.04.00
  3. //
  4. //*****************************************************************************************
  5. //   FUNCTION NAME    : PrintLog()
  6. //
  7. //-------------------------------------------------- PURPOSE -----------------------------------------
  8. //
  9. //     Print a text in log file
  10. //---------------------------------------- $$ REQUIREMENTS $$ ----------------------------------------
  11. //
  12. //  Format: $${TAG} R[#][Prod. ID]:Specification Path
  13. //
  14. //               $$:    ISGcq00622453
  15. //                TAG:    [APP_GEN]
  16. //              R #:    R[29]
  17. //            Prod.ID:  
  18. //        Spec. Path:   /vob/
  19. //
  20. //
  21. //
  22. //-------------------- PSEUDO CODE / DETAILED FUNCTION DESCRIPTION -------------------
  23. //
  24. //            Creates a log file with the phone info
  25. //
  26. //------------------------------------------------ REVISIONS ------------------------------------------
  27. // Date       Name                 Tracking #     Description
  28. // ---------  -------------------  -------------  ------------------------------
  29. // 26ARP2011  Feng Liu             ISGcq00622453  Initial Creation
  30. //*****************************************************************************************************
  31. //
  32. //----------------------------------------- FUNCTION DEFINITION ---------------------------------------
  33. void FeatureDisableDlg::PrintLog(CString& message)
  34. {
  35.     if(APPLICATION_VERSION[0] != 'R')
  36.     {
  37.         try
  38.         {
  39.             //verify if it is already opened
  40.             if (m_logFile.m_hFile == CFile::hFileNull)
  41.             {
  42.                 if(m_logFile.Open(LOG_FILE_NAME,
  43.                         CFile::modeCreate | CFile::modeNoTruncate | CFile::modeWrite))
  44.                 {
  45.                     m_logFile.SeekToEnd();
  46.                     CString log;
  47.                     log.Format("=====================================================\n",log);
  48.                     time_t rawtime;
  49.                     time ( &rawtime );
  50.                     char timeStr[0x100];

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

  56.                     m_logFile.Write(log, log.GetLength());
  57.                 }
  58.             }
  59.             m_logFile.Write(message, message.GetLength());
  60.         }
  61.         catch (...)
  62.         {
  63.         }
  64.     }
  65. }void FeatureDisableDlg::PrintLog(const char* message, ...)
  66. {
  67. //  if(APPLICATION_VERSION[0] != 'R')
  68.   if(1)
  69.   {
  70.       va_list list;
  71.       va_start(list, message);
  72.       char szBuffer[MAX_OUTPUT_TEXT_SIZE];
  73.       _vsnprintf_s(szBuffer, sizeof(szBuffer), message, list);

  74.       CString log(szBuffer);
  75.       PrintLog(log);

  76.       va_end(list);
  77.   }
  78. }

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

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

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2011-04-26 10:29 |只看该作者
既然讲可变参数,怎么能不讲怎么用va_arg一个个的取参数呢

论坛徽章:
2
天蝎座
日期:2014-03-28 10:18:052015年亚洲杯之乌兹别克斯坦
日期:2015-02-10 11:32:25
3 [报告]
发表于 2011-04-26 11:06 |只看该作者
发这帖子是为了啥捏

论坛徽章:
0
4 [报告]
发表于 2011-05-06 09:07 |只看该作者
回复 3# txdgtwpv


    为了赚点积分,顺便做个备忘

论坛徽章:
0
5 [报告]
发表于 2011-05-06 09:11 |只看该作者
回复 2# hellioncu


    用到了什么就写什么了,只是想共享一个真实的使用用例,不敢谈讲解什么的,和大家一起分享,哈哈 O(∩_∩)O哈哈~

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
6 [报告]
发表于 2011-05-06 10:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP