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 回答