問題タブ [ostringstream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - char 配列を ostringstream に追加できるものに変換する
// paramName の値を parmStream に追加したい
次の..エラーが表示されます:タイプ \u2018char [1024]\u2019 および \u2018const char [2]\u2019 の無効なオペランドがバイナリ \u2018operator+\u2019 に
事前に助けを求めて乾杯
c++ - streambuf または basic_ostringstream を派生していますか?
operator<< を使用してスローされるメッセージを作成できるように、stringstream を派生させたいと考えています。API は次のようになります。
これは
だから私がしたことは、「オーバーフロー」メソッドをオーバーロードし、ostream(&errorbuf) を作成する errorbuf (streambuf から継承) を作成することです。代わりにbasic_ostringstreamなどから継承すべきではないのだろうか...
c++ - ostringstream、iomanip:setwによって生成されたC++文字列フィールドを切り捨てます
C ++では、先行ゼロを含む整数の文字列表現が必要です。表現は8桁で8桁以下であり、必要に応じて右側の数字を切り捨てます。次のように、ostringstreamとiomanip.setw()だけを使用してこれを実行できると思いました。
ここでの出力は次のとおりです。
非常に素晴らしい!ただし、もっと大きな数を試してみると、setwでは出力が8文字を超えて大きくなります。
出力:
必要な出力は「20000000」です。最初の8文字だけを取得するために2番目の操作を使用することを妨げるものは何もありませんが、フィールドの切り捨てはiomanipから本当に欠落していますか?Boostフォーマットは必要なことを1つのステップで実行しますか?
c++ - VS2008 の C++ STL: std::ostringstream は、大量の割り当て/クリアの使用後に std::bad_alloc をスローします
std::ostringstream オブジェクトがプロセス メモリを消費し続ける状況 (Win32 上) に遭遇しました。この C++ フラグメントを見てください。
内側の while() ループの実行中に、タスク マネージャーでプロセスのメモリ使用量を観察すると、継続的な上昇傾向が見られますが、最終的には横ばいになります。ただし、この平準化は、エラー std::bad_alloc が繰り返しスローされると同時に発生します。これは、ヒープ メモリが使い果たされたか、要求されたサイズのブロックが連続した領域で使用できないことを示しています。
他の誰かが ostringstream オブジェクトでこのリーク現象を経験したことがありますか? また、この不安定なものの代わりに他の代替オブジェクトを利用できますか?
どうもありがとう!
c++ - istringstream、ostringstream、stringstreamの違いは何ですか?/すべての場合にstringstreamを使用してみませんか?
いつ使用しますか。またstd::istringstream
、すべてのシナリオで使用する必要がないのはなぜですか(実行時のパフォーマンスの問題はありますか?)。std::ostringstream
std::stringstream
std::stringstream
最後に、これについて何か悪いことはありますか(ストリームを使用する代わりに):
c++ - ostringstream で浮動小数点数を丸める
ostringstream を使用した float から c++ 文字列への変換に関して問題があります。これが私の行です:
t の値が -0.89999 の場合は -0.9 に丸められますが、値が 0.0999 またはこれよりも小さい場合 (たとえば 1.754e-7)、丸めなしで印刷されます。これに対する解決策は何ですか。
c++ - char配列を文字列ベースのhex-stream(ostringstream)に変換する方法
vector<unsigned char>
C ++(Linuxでgccを使用)では、バイト配列( )をaostringstream
または。に配置したいと思いstring
ます。
私は使用できることを知っていますsprintf
が、それも使用するのに最適な方法ではないようですchar*
。
ところで:このリンクは役に立ちませんでした
編集:これまでのところ、すべての回答が機能しています。しかし、私はバイト/16進値をそれらの文字列表現に変換したいという意味ではありませんでしたvector<..> = {0,1,2} -> string = "000102"
。その欠落しているが重要な詳細については申し訳ありません
c++ - ostringstreamの文字列コンストラクタの目的は何ですか?
MSVC 2005 では、次のコードがあります。
私が期待するものは次のとおりです。
私が得るものは次のとおりです。
文字列でストリームを初期化すると、ストリームがその位置を最初の文字列の最後に移動することが期待されます。明らかに、STL は私に同意しません (初めてではありません)。
そのような行動の目的は何ですか?このユースケースは何かに役立ちますか? また、ストリーム位置を最初の文字列の最後まで進める方法はありますか?
c++ - std :: ostringstreamを使用して整数型の幅を切り捨てる方法は?
次のようなものがあるとします。
出力:042
この出力は、std :: setwが最小幅を保証し、ストリームに0で埋めるように指示したためですが、STLおよびネイティブC ++で表示が切り捨てられるように、逆の方法で最大幅を指定するにはどうすればよいですか...
現在、私は醜く非効率的なハックと考えるものを持っています:
出力:123
私はboost::formatを見てきましたが、これを「きれいに」行う方法がないと言える限り、同じ話です...何か提案はありますか?
更新:std :: ostringstreamおよびSTLストリームは、一般に、STLの他のコンテナーおよびテンプレートオブジェクトと比較してパフォーマンスが遅いことが知られています。おそらく、std :: queueをラップして内部的に使用し、フォーマットの目的でsprintf_sを使用するメッセージキューオブジェクトを作成したほうがよいでしょうか。
c++ - float .1 を 0.1 ではなく .1 としてストリーミングする方法
値が 1 未満かどうかを確認し、先頭のゼロを見つけて削除できます。あまりエレガントではありません。