早上好;现在,我正在编写一个程序,该程序对物理过程进行蒙特卡洛模拟,然后将生成的数据通过管道传输到gnuplot以绘制图形表示。模拟和绘图工作正常。但我有兴趣打印一条错误消息,该错误消息通知用户未安装gnuplot。为了解决这个问题,我尝试了以下代码:
#include <stdio.h>
#include <stdlib.h>
FILE *pipe_gnuplot;
int main()
{
pipe_gnuplot = _popen("gnuplot -persist", "w");
if (pipe_gnuplot==NULL)
{
printf("ERROR. INSTALL gnuplot FIRST!\n");
exit (1);
}
return 0;
}
但是,不是打印我的错误消息,而是出现了“ gnuplot无法识别为内部或外部命令,可操作程序或批处理文件”(该程序在Windows上运行)。我不明白我在做什么错。根据_popen文档,如果管道打开失败,则应返回NULL。您能帮我解决这个问题吗?在此先感谢,如果问题很基本,请原谅。
我想gnuplot
未添加到PATH
的Windows
中。因为_popen
documentation说:
FILE *_popen(
const char *command,
const char *mode
);
参数
命令要执行的命令。
并且您将gnuplot -persist
作为命令传递,并且错误提示找不到gnuplot
。
尝试打印环境变量以查看是否存在。