在 C/C++ 中将输出外壳流(cout 或 printf)显示到文本视图小部件 (GTK+ 3)



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

我在我需要使用 GIOchannel 的某个地方读到,在其他地方,他们只是建议写到 gtk_text_buffer_insert(),问题是后一个函数需要字符指针,我显示双精度和浮点数。选角不起作用,也不应该真正起作用。

我该怎么做?

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

最新更新