- 论坛徽章:
- 0
|
有段程序没看明白,请各位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()的使用怎么理解?是否为系统函数?如果是,那位知道函数原型在哪里可以找到? |
|