一个关于sprintf的问题
如下面所示函数:void myfprint(U32 level, const char *fmt, ...)
{
va_list ap;
void*par;
//sprintf((char*)&print_buffer,"%s","");
va_start(ap, fmt);
par=va_arg(ap,void*);
par=va_arg(ap,void*);
Current_position_of_print_buffer+=sprintf((char*)&print_buffer,fmt,par,par);
va_end(ap);
if(Current_position_of_print_buffer>=(sizeof(print_buffer)-128))Current_position_of_print_buffer=0;
}
这函数运行结果不正常,如果把函数中屏蔽的那次调用“ //sprintf((char*)&print_buffer,"%s","");”打开,则结果正常,百思不得其解啊。。。。那位大虾分析下??
页:
[1]