std::ostringstream
を一時バッファとして使用する既存のコードがいくつかあります。堅牢性を高めるために、バッファーサイズの上限(16 KBなど)を定義したいと思います。制限を超えた場合、追加された後続のすべてのデータは黙って破棄する必要があります。理想的には、警告をログに記録した後。
それを行う最も簡単な方法は何ですか?std::ofstream
現在のサイズを取得する効率的な方法がないようです。私は考えることができるだけでmy_stream.str().size()
、それは非常に非効率的であるように思われます。
もちろん、追加のカウンターを保持することで、挿入された文字の数を手動で追跡できますが、私が見逃しているエレガントな代替手段があるかもしれません。交換可能ofstringstream
な内部バッファ( )があるのを見ました。rdbuf()
私の問題を解決するためにそれを使用することは可能(そして実用的)ですか?