#include<bits/stdc++.h>
using namespace std;
/*
* va_list 本质是char* --表示可变参数列表类型
* va_start --用于获取函数参数列表中可变参数的首指针(获取函数可变参数列表)
* va_arg --用于获取当前args所指的可变参数并将args指针移向下一个可变参数
* va_end --结束可变参数的处理*/
void fun(const char* fmt,...){
va_list args;
char *buf;
va_start(args,fmt);
if(vasprintf(&buf,fmt,args)<0){
perror("vasprintf()");
exit(1);
}
va_end(args);
cout<<buf<<std::endl;
free(buf);
}
int main(){
fun("Hello the vasprints");
fun("The num is %d,and the string is %s",10,"大家爱的");
return 0;
}
vaspritf处理可变参数
最新推荐文章于 2024-09-20 19:30:00 发布