在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