我有一个c ++库,它提供了一个具有复杂逻辑的对象。到目前为止,当执行一个库命令时,许多对象将其输出打印到std::cout
。我想为此创建一个Qt GUI(在文本小部件而不是控制台输出中输出它),因此必须更改std::cout
以获得更灵活的内容。我已将std::stringstream
参数的引用传递给主对象(并将其传递给较低的对象)并将所有“std :: cout<<”替换为“stream<<”(流是的std :: stringstream的)。
它不起作用,因为我输掉了大部分输出。当我想从字符串流中获取它时,它是非常小的(只有几个字符)。似乎如果我stream << var1 << var2 << var3
只有var3可用。
不知道如何解决这个问题。如果我将对std::cout
的引用作为主要对象参数传递,那么在控制台下一切都会正常,但它不适用于GUI应用程序(我想我无法从std :: cout获取输出)。
请告诉我,我是否以糟糕的方式使用streamtring。或者让我知道是否有更好的方法来获取输出(使用其他东西而不是stringstream)。非常感谢提前。
答案 0 :(得分:0)
你可以使用freopen(“out.txt”,“w”,stdout);在你的课程开始时。