创建管道并从c ++写入gnuplot终端

时间:2011-03-09 20:36:26

标签: c++ gnuplot

我试图从c ++调用gnuplot。我正在使用wgnuplot for Windows和VS2005 c ++。

以下语句有效,因为它打开了gnuplot终端

FILE *p = _popen("wgnuplot -persist","w");

但我不能在那里写任何东西。即使在运行以下代码后,我的终端仍然是空白的。

fprintf(p, "set terminal x11 enhanced\n"); //set appropriate output terminal for the plot 
fprintf(p, "set xlabel 'N'\n");//set xlabel 
fprintf(p, "set ylabel 'error'\n");//set ylabel

你能否告诉我可能是什么问题,即为什么终端是空白的,而fprintf()似乎不起作用?

谢谢,

鲍里斯

2 个答案:

答案 0 :(得分:0)

检查FILE指针是否为NULL:

if(!p)
  // _popen() has failed...

答案 1 :(得分:0)

我不知道这对你有帮助,但这是我从我的C程序执行gnuplot的方法:

  1. 我创建了一个模板文件(通常我不删除它,以便更容易进行故障排除),其中所有gnuplot命令都是脚本化的。

  2. 我用

    运行gnuplot
    system("gnuplot <TemplateFile>")
    
  3. 如果你只对创作一个情节感兴趣,那他就可以胜任。如果您对上述方法明确感兴趣,那么请忽略此帖子;)

    Cherio Woltan