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

来源:互联网 发布:如何看自己淘宝的等级 编辑:程序博客网 时间:2024/06/06 00:39
写一个函数封装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:\t", __FILE__, __LINE__, __DATE__, __TIME__), printf)

附加参考:http://bbs.csdn.net/topics/90162956 (看四楼#4)
原创粉丝点击