2013-12-22 33 views
2

我需要通过管道将一个在我的主程序(普通C)中定义的变量传递给Gnuplot。我该怎么做?任何援助非常感谢。如何通过管道将C中定义的变量传递给Gnuplot?

感谢

PS:Ubuntu的LTS 12.04.3,GCC 4.6.3

代码:

FILE *pipe = popen("gnuplot -persist","w"); 
    //fprintf(pipe, "bin_width = binsize; "); 
    fprintf(pipe, "load 'Q3.gnu' \n"); 
    close(pipe); 

编辑:我已经解决我自己的问题,对不起,把你的时间。解决办法是:

FILE *pipe = popen("gnuplot -persist","w"); 
    fprintf(pipe, "binsize = %f;", (float)binsize); 
    fprintf(pipe, "load 'Q3.gnu' \n"); 
    close(pipe); 
    return 0; 
+0

显示您的代码。你的C程序如何与'gnuplot'通信?通过传递变量是什么意思?你在用'popen'吗?怎么样?? –

+0

@BasileStarynkevitch我正在写与我的论点有关的代码的一部分。 – Vesnog

+0

@BasileStarynkevitch变量binsize在我的C源代码中定义,我想将它传递给Gnuplot并将其用于绘图目的。我注意到这部分,因为它遇到了问题,我也会选择直接使它可以由Gnuplot使用,而无需重命名它,如果可能的话。 – Vesnog

回答

2

我不能给你一个确切的响应,但gnuplot_i接口使用管道机制与gnuplot会话通信。它看起来非常接近你的要求。我相信你可以在项目的主页找到有用的信息(http://ndevilla.free.fr/gnuplot/)。

+0

非常感谢您的关注,我会看看您提到的链接。 – Vesnog

相关问题