vipeinstein 发表于 2012-4-9 16:05:05

一个关于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]
查看完整版本: 一个关于sprintf的问题