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

方法一:

#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:\t", __FILE__, __LINE__, __DATE__, __TIME__), printf)

 

 

原文:https://blog.csdn.net/coder_weisong/article/details/10285291

posted @ 2019-02-22 15:54  瘋耔  阅读(814)  评论(0编辑  收藏  举报
跳至侧栏