1

コマンドラインとして実行していたプログラムがあるため、多くのプログラムが含まれてcoutsいます。ostreamこのプログラムを呼び出すクラスでオブジェクトを作成し、そのプログラムのコンストラクターを次のようなもので初期化する方法があるかどうか疑問に思っていました

Import(ostream & text_out= std::cout):out(text_out)

すべての呼び出しを out に置き換えてcout、出力先を切り替えます。

各関数呼び出しの最後に、ostreamオブジェクトを文字列に抽出し、それを MFC オブジェクトに送信できます。

これは、コマンドラインまたは MFC プログラムとして呼び出された場合に、ベース コードが適切に機能することを意味します。これは私が間違った道に沿って考えている可能性がありますが、これが可能かどうかを知りたいです.

4

2 に答える 2

4

使用できますostringstream

std::ostringstream oss;
std::ostream &os = oss;
os << "Hello" << endl;

std::string str = oss.str(); // str == "Hello\n"
于 2012-07-20T11:50:23.473 に答える
3

をお探しのようですstd::ostringstream

于 2012-07-20T11:46:16.580 に答える