参考c++文档的可变参数打印进行修改
#include <stdio.h> #include <stdarg.h> #include <time.h> FILE * pFile = NULL; void WriteFormatted (const char* pfileName , const char* pfun , const long lline, const char * format, ...) { if(!pFile) return; time_t timep; time (&timep); char tmp[64]; strftime(tmp, sizeof(tmp),/* "%Y-%m-%d %H:%M:%S"*/"%F %T",localtime(&timep) ); fprintf(pFile,"%s %s:%s:%ld ",tmp,pfileName,pfun,lline); va_list args; va_start (args, format); vfprintf (pFile, format, args); va_end (args); } #define debuglog(format, ...) WriteFormatted(__FILE__, __FUNCTION__, __LINE__, format, ##__VA_ARGS__) int main () { pFile = fopen ("myfile.txt","a+"); debuglog("Call with %d variable %s.\n",2,"arguments"); debuglog("Call with %d variable %s.\n",2,"arguments"); debuglog("Call with %d variable %s.\n",2,"arguments"); debuglog("Call with %d variable %s.\n",2,"arguments"); debuglog("Call with %d variable %s.\n",2,"arguments"); debuglog("Call with %d variable %s.\n",2,"arguments"); fclose (pFile); return 0; }
原文链接: https://www.cnblogs.com/nanqiang/p/13071420.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/353990
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!