函数参数个数不定处理va_list
时间:2010-05-24 来源:landuochong
#include <stdio.h>
#include <stdarg.h>
int cmd(char *format,...); int main(int argc,char* argv[])
{
cmd("hello","nofd","world","va_list"); } int cmd(char *format,...)
{
char comd[20];
char *cmmd;
int cnt;
va_list pa;
va_start(pa,format); cnt=vsnprintf(comd,20,format,pa);
printf("%s\n",comd);
//这个打印的结果是第一个好像还返回第一个的长度 cmmd=va_arg(pa,char *);//第二个参数是
cnt=vsnprintf(comd,20,format,pa);
printf("%s\n",cmmd); //下面的va_arg打印出来第三个的值
cmmd=va_arg(pa,char *);
printf("%s\n",cmmd); va_end(pa);
}
#include <stdarg.h>
int cmd(char *format,...); int main(int argc,char* argv[])
{
cmd("hello","nofd","world","va_list"); } int cmd(char *format,...)
{
char comd[20];
char *cmmd;
int cnt;
va_list pa;
va_start(pa,format); cnt=vsnprintf(comd,20,format,pa);
printf("%s\n",comd);
//这个打印的结果是第一个好像还返回第一个的长度 cmmd=va_arg(pa,char *);//第二个参数是
cnt=vsnprintf(comd,20,format,pa);
printf("%s\n",cmmd); //下面的va_arg打印出来第三个的值
cmmd=va_arg(pa,char *);
printf("%s\n",cmmd); va_end(pa);
}
相关阅读 更多 +