[解決済み] c++でostringstreamを正しく使うにはどうしたらいいですか?
2022-02-14 18:34:13
質問事項
toString()メソッドが呼び出されたときに、整数と浮動小数点数を含む情報を返そうとしています。ostringstreamについて学びましたが、このメソッドを含むクラスが何度も呼び出されると、情報が以前の出力の上に積み重なってしまいます。以下は私のコードです。
ostringstream int_buffer, float_buffer, float_buffer2;
は、私の授業の最初に紹介され、次に
string toString()
{
int_buffer << on_hand;
float_buffer << price;
float_buffer2 << generated_revenue;
string stron_hand = int_buffer.str();
string strprice = float_buffer.str();
string strrev = float_buffer2.str();
string output = "Product name: " + description + " Units left: " + stron_hand + " Price: " + strprice + " Revenue: $" + strrev;
return output;
}
私のコーディングはひどいものです。私はまだかなり初心者ですが、私のアウトプットの例は次のとおりです。
"商品名: 映画チケット Unit left: 49 Price: 9.99 Revenue: $9.99"
"商品名:映画チケット Unit left: 4926 Price: 9.999.99 Revenue: $9.99239.76"
2つ目が表示されるべき場所
"商品名: 映画チケット Unit left: 26 Price: 9.99 Revenue: $239.76"
更新すればいいだけなのは分かっているのですが、そこで迷ってしまうのです。
どのように解決するのですか?
宣言する
int_buffer
,
float_buffer
および
float_buffer2
内側
toString()
関数を使用します。クラス内で宣言しているため、これらのオブジェクトは保持され、あなたが
toString()
関数に連結しています。
int_buffer
,
float_buffer
および
float_buffer2
を何度も何度も繰り返します。メソッドの中で宣言すると、それらは
toString
がアクティブになります。とにかく、やろうとしていることの割にはコードが多すぎます。単純にそうすればいいのです。
std::string toString()
{
std::ostringstream buffer;
buffer << "Product name: "<< description << " Units left: " << on_hand << " Price: "<< price << " Revenue: $" << generated_revenue;
return buffer.str();
}
関連
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】C-stringを使用すると警告が表示される。"ローカル変数に関連するスタックメモリのアドレスが返される"
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる