变参标准函数的重新封装,如printf

写一个函数封装printf用作trace 写一个函数封装printf用作trace
方法一: 方法一:
#include <stdio.h>
#include <stdarg.h>
void my_trace(const char *cmd, ...)
{
    printf("%s %s ", __DATE__, __TIME__);
    va_list args;       //定义一个va_list类型的变量,用来储存单个参数
    va_start(args,cmd); //使args指向可变参数的第一个参数
    vprintf(cmd,args);  //必须用vprintf等带V的
    va_end(args);       //结束可变参数的获取
}
方法二: 方法二:
#define DBG_PRINT (printf("%s:%u %s:%s:	", __FILE__, __LINE__, __DATE__, __TIME__), printf)
#define DBG_PRINT (printf("%s:%u %s:%s: ", __FILE__, __LINE__, __DATE__, __TIME__), printf)
附加参考:  (看四楼#4) 附加参考: (看四楼#4)
#define DBG_PRINT (printf("%s:%u %s:%s: ", __FILE__, __LINE__, __DATE__, __TIME__), printf) 附加参考: (看四楼#4)
经验分享 程序员 微信小程序 职场和发展