void Print(const char* format, ...) { va_list ap; va_start(ap, format); char* buf_ = NULL; vasprintf(&buf_, format, ap); // fprintf(stdout, "%s", buf_); //fflush(stdout); DataLog.Info(buf_, true); // DataLog.Info("\n"); free(buf_); va_end(ap); }
时间: 2024-03-29 10:42:04 浏览: 54
VC++ string_format(const char* format, ...)
5星 · 资源好评率100%
这段代码是一个可变参数的打印函数,使用了C语言标准库中的va_list、va_start、va_end和vasprintf函数。其中,va_list是一个指向可变参数列表的指针,va_start用于初始化该指针,vasprintf用于将可变参数格式化为字符串并存储在buf_中,最后通过DataLog.Info函数输出这个字符串。
需要注意的是,该函数只能在支持C99标准的编译器中使用,因为vasprintf函数在C89标准中并不存在。
阅读全文