sprintfする時に必要なバッファのサイズが実行してみるまで分からないってことがありますよね?
そういうときはどうするのが最も良いのでしょうか。

私は、tmpfileしてからそれにfprintfで書き込み、返ってきた値に1足した数分、mallocするという方法を
考えたのですが、はっきり言って無駄が多すぎると思うんです。