我有一个程序曾经作为命令行运行,因此其中有很多couts
。我想知道是否有一种方法可以在调用该程序的类中创建一个ostream
对象,并用之类的东西初始化该程序的构造函数
Import(ostream & text_out= std::cout):out(text_out)
并将我对cout
的所有调用替换为out,从而切换输出的位置。
在每次函数调用结束时,我可以将ostream
对象提取为字符串,并将其发送到我的MFC对象。
这意味着,如果我能让我的基本代码发挥作用,那么如果以命令行或MFC程序的形式调用它,我的基础代码就会很好。这可能是我走错了路,但我很好奇这是否可能。
您可以使用ostringstream
:
std::ostringstream oss;
std::ostream &os = oss;
os << "Hello" << endl;
std::string str = oss.str(); // str == "Hellon"
您似乎在寻找std::ostringstream
。