0

のバージョンがあると聞いたことがありますsprintf()。おそらく GNU/gcc 拡張機能で、必要な独自のバッファーを割り当てるかfree()、おそらく のようなスタックを使用して動作しますalloca()

どちらの方法も私にとっては問題ありません。私が考えていた機能を誰か教えてもらえますか?

4

1 に答える 1

5

おそらくasprintfですか?

マニュアルページから:


説明

関数 asprintf() と vasprintf() は sprintf() と vsprintf() の類似物ですが、終端の null バイトを含む出力を保持するのに十分な大きさの文字列を割り当て、最初のパラメータを介してそのポインタを返します。このポインタは、不要になったときに割り当てられたストレージを解放するために free(3) に渡す必要があります。


asprintf は GNU 拡張であり、さまざまな BSD 実装にも見られますが、標準の C または POSIX にはありません。

于 2011-04-01T10:40:13.867 に答える