将命令行参数传递给Windows {g}中的gnuplot

时间:2016-01-24 18:53:50

标签: windows cmd fortran gnuplot

我有一个Fortran 90程序,它将一些数据输出到.txt文件。 数据将与gnuplot一起绘制。

我能够用

启动gnuplot
CALL SYSTEM("start wgnuplot")

相当于类型

start gnuplot 
在Windows命令行提示符下

但是,我想让程序告诉gnuplot接下来要做什么,即将目录更改为右边的目录,并绘制我的file.txt。

总而言之,这归结为一个更简单的问题:

如何在启动gnuplot的Windows中传递命令行并为其提供一些其他命令?

我尝试用更简单的东西来做,比如绘制y = x。 在正常的gnuplot窗口中,这只是情节x。

从cmd.exe(这是Fortran的CALL SYSTEM()调用的内容)我试过了:

start wgnuplot plot x
start wgnuplot plot x -pause
start wgnuplot plot x -persist
start wgnuplot plot x -noend
start wgnuplot plot x /noend

和其他人,包括每个可能的带或不带引号的变体,例如

start wgnuplot "plot x -persist" 

到目前为止,唯一有效的是基本的

start gnuplot

确实启动了gnuplot。但后来我不知道如何添加下一个命令。一旦我有一个工作命令行输入,我相信我只需要将它放入CALL SYSTEM参数,让我的Fortran程序完成所有工作。

我只能找到有关如何在类UNIX机器上实现此目的的说明,但不能在Windows上找到。 任何帮助将不胜感激。

背景信息:Windows 8,Code :: Blocks,gnuplot 5.0 patchlevel 1

1 个答案:

答案 0 :(得分:1)

你需要使用在C和unix中非常容易的命名管道:

http://tldp.org/LDP/lpg/node11.html 并看到这个答案: https://stackoverflow.com/a/14027358/2743307

在Fortran和UNIX中,您可以使用shell mkfifo命令: https://genomeek.wordpress.com/2012/05/07/tips-reading-compressed-file-with-fortran-and-named-pipe/