直接上代码
#includevoid logd(std::string tag, const char* str, ...) { va_list a_list;//变参 stdarg.h va_start(a_list, str); if (!tag.empty()) printf("[ %4s] [ %-8s]: ", "INFO", tag.c_str());//c_str为转化为c语言传统的char * vprintf(str, a_list); va_end(a_list); }
从str后开始读取变参列表到a_list。调用vprintf的时候,str作为format,格式化输出字符串,a_list作为可变长度的参数。



