参考c++文档的可变参数打印进行修改
#include
#include
#include
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;
}
Original: https://www.cnblogs.com/nanqiang/p/13071420.html
Author: cicero
Title: linux下可变参数打印
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/10336/
转载文章受原作者版权保护。转载请注明原作者出处!