0

我有一个关于 ubuntu 和 C++ 的项目,在我的代码中的某处有一个循环将大量数据输出到标准输出(终端)。在这些数据中,有一个错误字段,我希望看到它随着循环迭代的演变。为了清楚起见,请考虑以下代码:

while (error > epsilon) {
    //do stuff
    std::cout<<foo1<<std::endl;
    std::cout<<foo2<<std::endl;

    somehow send error to gnuplot!
    //do the rest of the stuff
}

我的想法是将错误打印到某个地方,例如/dev/null并尝试对其进行gnuplot。但是我不确定这是否可能,如果可能的话如何做到这一点,但最重要的是我不确定这是否是这样做的正确方法。

如何以正确的方式完成这样的任务?

4

1 回答 1

0

您可以使用stdout消息和gnuplot,并使用如何通过管道传输标准错误而不是标准输出stderr中的提示之一将后者传输到 gnuplot ?. 但这是一个非常不标准的用法,所以除了临时调试使用外,不建议这样做。您也可以只写入一个文件,然后再绘制它。stderr

您可以使用popen打开管道到 gnuplot 并发送数据。该gnuplot-iostream图书馆将在这里提供帮助(免责声明:我是该书的作者)。

于 2013-10-30T13:03:25.320 回答