c++ 之處理可變參數

使用va_list 或者springf對可變參數進行格式化處理

#include<stdarg.h>
#include<stdio.h>
void trace_log(const char* format, ...);
void trace_log1(const char* format, ...);

int main()
{
	trace_log("%s,%d\n", "test!!", 199);
	return 0;
}

void trace_log(const char* format, ...)
{
	char var[1024];
	va_list args;
	va_start(args,format);
	vsprintf(var,format,args);
	va_end(args);
	printf(var);
}

//如果編譯器不支持__VA_ARGS__宏,使用上面的方法
void trace_log1(const char* format, ...)
{
	char var[1024];
	sprintf_s(var,sizeof(var),format,##__VA_ARGS__);
	printf(var);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章