说真的 我真的看不懂这两个东西
static void err_doit(int ,char *,va_list)void err_ret(const char *fmt,...)
{
va_list ap;
va_start(ap,fmt);
err_doit(1,fmt,ap);
va_end(ap);
return;
}
static void err_doit(int errnoflag,const char *fmt,va_list ap)
{
int errno_save;
char buf[MAXLINE];
errno_save=errno;
vsprintf(buf,fmt,ap);
if(errnoflag)
sprintf(buf+strlen(buf)),
strcat(buf,"\n");
fflush(stdout);
fputs(buf,stderr);
fflush(NULL);
return;
}
我最不懂的就是va_list这个东西 我看了N多次 ,也没发现这va_list是个结构体,这是(unix环境高级编程)出错处理定义的函数,不知道有没有看过的?懂的解释下?