実行してみると正しい結果になるのは解ったんだけど
どうしてそうなるのか解らない
vsnprintfの返り値は書き込んだ文字の数だから
bufがnullでnが0だったら0が返ってくるはずでは?