|
如下面所示函数:
void myfprint(U32 level, const char *fmt, ...)
{
va_list ap;
void*par[2];
//sprintf((char*)&print_buffer[Current_position_of_print_buffer],"%s","");
va_start(ap, fmt);
par[0]=va_arg(ap,void*);
par[1]=va_arg(ap,void*);
Current_position_of_print_buffer+=sprintf((char*)&print_buffer[Current_position_of_print_buffer],fmt,par[0],par[1]);
va_end(ap);
if(Current_position_of_print_buffer>=(sizeof(print_buffer)-128))Current_position_of_print_buffer=0;
}
这函数运行结果不正常,如果把函数中屏蔽的那次调用“ //sprintf((char*)&print_buffer[Current_position_of_print_buffer],"%s","");”打开,则结果正常,百思不得其解啊。。。。那位大虾分析下?? |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|