標準char*
の文字列を使用する場合、snprintf
and関数は、オーバーフローのためにその文字列が切り捨てられた場合でも、出力文字列の長さを返します。* ISO C委員会は、andvsnprintf
を追加したときにこの機能を気に入らなかったようです。オーバーフロー時。swprintf
vswprintf
この長さを提供する関数を知っている人はいますか?潜在的な文字列のサイズがわかりません。私はあまりにも多くを求めているかもしれませんが、..私はむしろしたくない:
- 巨大な静的一時バッファを割り当てます
- 適合するサイズが見つかるまで、メモリを繰り返し割り当てて解放します
- ライブラリの依存関係を追加する
- 独自のフォーマット文字列パーサーを作成する
* MSVCはこれを行わず、代わりにscprintf
とvscprintf
関数を提供しますが、他のコンパイラ、主にGCCを探しています。