免费注册 查看新帖 |

Chinaunix

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

在线请教问题,着急中!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-16 11:02 |只看该作者 |倒序浏览
有段程序没看明白,请各位DX帮忙     
int  cfc_SetExternalInterfaceQueue(int par_BusinessType,... )

{
   int i;
   int ret;
   long list_op_type;
   long ret_sqlcode;
        short  par_OperateType;
        char   *pCntrNo;
        char   *pPolCode;
        char   *pMioItem;
        char   *pPlnMioDate;
        char   *MioDate;
        char   *pMtnItem;
        double pMioAmnt;
       
        short  pBizSubType;
        char   pTermCauseCode;
        double pRtnAmnt;

        long  pMtnId;
   char *pbiz_date;  
   char *ptask_event;
   char *in_tx_no;
        TIO_ACC_INFO *in_accinfo;
   TIO_ACC_LOG  *in_acclog;
   

   EIQ_INFO leiq_info;
   va_list ap;

   /*申请所有可能的可变入参*/
        TIO_PLN_MIO_REC *in_plnrec;
        TIO_PLN_MIO_REC_CLAF *in_plnrec_clear;
        TIO_MIO_LOG *in_miolog;
        MIO_PROC_RULE  par_mio_item;
       
        memset(&par_mio_item,0,sizeof(MIO_PROC_RULE));
       
        va_start(ap, par_BusinessType);
        #ifdef DEBUG_FLAG
      cferrlog(gstruct_errlogfilename.debug_err_log_file, __FILE__, __LINE__,
          8888, 0, " va_start  业务类别par_BusinessType=%d\n",par_BusinessType);
        #endif   
switch(par_BusinessType)
        {
        case 1:/*EIQ_BIZTYPE_MI_LOG*/
        case 2:/*EIQ_BIZTYPE_MO_LOG*/
                        par_OperateType = va_arg(ap,short);
                        in_miolog= va_arg(ap, TIO_MIO_LOG *);
                        in_tx_no=va_arg(ap,char *);

                           if (NULL_FLAG == in_miolog)
                           {
                              cferrlog(gstruct_errlogfilename.debug_err_log_file,__FILE__,__LINE__,ERR_PARAMETER,0,
                                 "arameter parse ERROR.\n" );
                              return FAIL;
                           }
    ...............
    };
请问:上述代码中函数va_start(),va_arg()的使用怎么理解?是否为系统函数?如果是,那位知道函数原型在哪里可以找到?

论坛徽章:
0
2 [报告]
发表于 2004-12-16 11:12 |只看该作者

在线请教问题,着急中!!

〉〉请问:上述代码中函数va_start(),va_arg()的使用怎么理解?是否为系统函数?如果是,那位知道函数原型在哪里可以找到?
这些是变长变元参数处理的宏
在<stdarg.h>;中可以找得到
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP