封裝自己的printf函數


#include <stdio.h>  
#include <stdarg.h>  

//方式一
#define DBG_PRINT (printf("%s:%u %s:%s:\t", __FILE__, __LINE__, __DATE__, __TIME__), printf) 

//方式二
void MyPrintf(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);       //結束可變參數的獲取
    printf("\n");  
}  

int main()
{
    MyPrintf("%s", "hello world");
    MyPrintf("hello world");
    MyPrintf("%d %f", 15, 16.3);

    DBG_PRINT("%s", "hello world");
    DBG_PRINT("hello world");
    DBG_PRINT ("%d %f", 15, 16.3);
    return 0;
}

 

 參考 http://blog.csdn.net/coder_weisong/article/details/10285291


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM