重定向Gnuplot错误消息

时间:2016-08-21 08:33:37

标签: c++ gnuplot gnuplot-iostream

我想将gnuplot错误消息(通常显示在gnuplot终端中)重定向到用于记录的文件。有没有办法做到这一点?

示例:如果我输入

gnuplot> Hi!

在gnuplot终端,然后我得到

gnuplot> Hi!
         ^
         invalid command
gnuplot> 

有没有办法将“^ \ nnvalid command”重定向到另一个文件,例如err.txt?

上下文:我正在使用Dan Stahlke使用gnuplot-iostream嵌入c ++应用程序中的gnuplot。它很棒!但我不知道如何从这个管道获取错误消息,所以这将是一个很好的解决方法。

3 个答案:

答案 0 :(得分:0)

我不认为可以在Gnuplot内部实现这一点而不需要修改源代码。

command.c通过调用int_error中定义的util.c明确指定的stderr来生成“无效命令”消息...

答案 1 :(得分:0)

我不确切知道这是否适用于您的0 => {10}{20}{30} 1 => {40} 2 => {50} 3 => {60}{70} 4 => {80} 5 => {90} 申请表(可能不适用),但我认为无论如何我都会提到。如果你这样做:

c++

也许你可以加入这样的东西。希望它有所帮助!

答案 2 :(得分:0)

似乎 gnuplot 默认将 stdout 和 stderr 都重定向到 stderr。 相反,终端文件输出被发送到标准输出。这是一个要检查的示例。 tmp.gnu 的内容。

print 'some text';
set terminal postscript;
set out
pl sin(x)
gnuplot tmp.gnu 2>tmp.txt  1>sin.ps

tmp.txt 包含标准输出和 sin.ps 后记文件。

也请检查此答案 https://stackoverflow.com/a/27375957/11769765 以使用 set print "-"set print "/dev/fd/2"set print "filename" 重定向标准输出。