在C++中有时需要使用参数数目未知的函数,如输出日志等场景。
这时需要用到头文件
#include<stdarg.h>
需要用到以下类型和方法
va_list
typedef char * va_list; //可变参数列表
va_start(ap,v) //获取可变参数列表的第一个参数地址,ap是类型va_list的指针,v是可变参数最左边的参数
va_arg
va_arg(ap,t) // 获取可变参数的当前参数,返回指定类型并将指针指向下一参数(t参数描述了当前参数的类型)
va_end
va_end(ap) //// 清空va_list可变参数列表
vasprintf:发送格式化输出到串口,返回生成字串的长度(除去\0),错误情况返回负值
参考资料:
https://www.jb51.net/article/144211.htm
https://www.cnblogs.com/itxiaocaiyidie/archive/2012/02/02/2335922.html