首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

[请问] 怎么写参数个数不确定的函数

2012-03-31 
[请教] 如何写参数个数不确定的函数比如printf,参数个数不确定,要使用_cdecl,调用者负责把参数弹出栈.那么

[请教] 如何写参数个数不确定的函数
比如printf,参数个数不确定,要使用_cdecl   ,调用者负责把参数弹出栈.那么实际中应该如何写呢,比如要实现一个void   _cdecl   print   (int   n,int   value1,int   value2,...int   value   n),函数将n个数输出就行了,或者随便怎么都行,我只是想了解此类函数的处理方式,能麻烦高手写出来吗?

[解决办法]
一种容易的实现方法,模仿main函数的参数传递
传递数组,而其中不传递维数,在函数内部定个判断准则
int fun(char **argv)这样子
[解决办法]
void print_trace(const char *fmt...)
{
#ifndef NO_TRACE
//if (tracefile!=NULL && P1.pc1()> 453300) {
if (tracefile!=NULL)
{
va_list ap;
va_start(ap, fmt);
vfprintf(tracefile, fmt, ap);
va_end(ap);
}
#endif
}
[解决办法]
printf就是去栈中取参数.根据ebp的值
[解决办法]
http://community.csdn.net/Expert/topic/5325/5325070.xml?temp=.4043238

热点排行