在C / C ++中将输出shell流(cout或printf)显示到Textview小部件(GTK + 3)?

时间:2014-11-28 14:53:09

标签: c++ c user-interface gtk

我想使用textview小部件在我的程序中显示输出,有一堆cout和printf我显示特定信息,现在我想在GTK +中使用GUI来显示我在命令shell上看到的输出

我在某个地方读到了我需要使用GIOchannel的地方,在其他地方,他们只是建议写入gtk_text_buffer_insert(),问题是后一个函数需要char指针,我显示双精度和浮点数。投射不起作用,它应该不起作用。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以创建一个写入窗口小部件的流缓冲区。您将从std::streambuf派生一个类,将字符串发送到任何小部件函数,并使用通过此流缓冲区初始化的std::ostream。如果无法将流传递给使用它的函数,则可以替换std::cout的流缓冲区(使用std::cout.rdbuf(&sbuf))。但是,如果您还希望将这些输出转到您的小部件,则需要替换printf()