ていうか、そもそもそんなくだらないアイデアは捨てなさい。
その関数はvsprintfのエラーとfopenのエラーをしっかり区分して伝えなければならない。
呼び出し元は返ってきたエラーがどの段階で発生したどのようなエラーかを識別しなければならない。
しっかりエラー処理するなら呼び出し元の手間は増えるかもしれない。
no such fileのエラーならば、呼び出し元がユーザーにエラーを伝える際、
開こうとしたファイル名をユーザーに伝えるために関数内の処理と同様のファイル名構築処理をしなければならない。
たいした得もないのに大損ばかりだ。
エラーの存在を完全に無視したいい加減な設計思想があるんだろう。