我正在调用 vsnprintf ,如下所示如果 Vargs 为 NULL,则在 strlen 函数中使用 vsnprintf coredump,但相同的核心在其他操作系统(如 linux、AIX ......
有什么解决方案吗?我无法避免将 NULL 传递给 varags ,我希望 vsnprintf 不能coredump ...
代码:
int example(char * buff,size_t count,const char format[],...)
{
va_list vargs = NULL;
va_start(vargs,format);
ret = vsnprintf(buff,count,format,vargs);
va_end(vargs);
return ret;
}
main()
{
char buff[100] = {0};
char *FileName = NULL;
ret = example(buff,100,"File Name is %s",FileName);
}