以下のように vsnprintf を呼び出しています Vargs が NULL の場合、strlen 関数で vsnprintf コアダンプが実行されますが、Linux や AIX などの他の OS でも同じコアが正常に動作します ....
これに対する解決策はありますか?NULL を varags に渡すことは避けられません。vsnprintf がコアダンプしないようにしたいのですが ...
コード:
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);
}