ostringstream
の文字を文字列の内容で置き換えて文字を置き換える方法を探していましたが、非常に非効率的な解決策があり、string
を抽出して修正してostringstream
。は自動的に文字列ストリームの文字を置き換えます
今、文字列を追加するときに自動的にそれらの文字を置き換える方法があるのだろうかと思います。例えば。
ostringstream my_json;
my_json << replace_singlequotes; # modify the stringsteam once
my_json << "{'this':";
my_json << " 'is valid JSON'}";
std::cout << my_json.str();
output:
{"this": "is valid JSON"}
あなたがストリームに配管する前に、指定された文字列を変更するなどstd::hex
のような形式修飾子に似ostringstream
、用のカスタムフィルタを書くことができますか?
ostringstream
の文字を置き換える方法が他にありますか?std::replace()
をmy_json.str()
で実行することは、他の質問やハウツーに示唆されているとおりですか?
2番目のコードスニペットが最初のコードスニペットよりも役立つと思います。 –
注:引用符をエスケープする簡単な方法でjsonを書くだけであれば、生の文字列: 'R"({"this": "は有効なJSON"}) "'を使用することができます。 – Jarod42