我试图从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()似乎不起作用?
谢谢,
鲍里斯
答案 0 :(得分:0)
检查FILE指针是否为NULL:
if(!p)
// _popen() has failed...
答案 1 :(得分:0)
我不知道这对你有帮助,但这是我从我的C程序执行gnuplot的方法:
我创建了一个模板文件(通常我不删除它,以便更容易进行故障排除),其中所有gnuplot命令都是脚本化的。
我用
运行gnuplotsystem("gnuplot <TemplateFile>")
如果你只对创作一个情节感兴趣,那他就可以胜任。如果您对上述方法明确感兴趣,那么请忽略此帖子;)
Cherio Woltan