我有一个Fortran 90程序,它将一些数据输出到.txt文件。 数据将与gnuplot一起绘制。
我能够用
启动gnuplotCALL 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
答案 0 :(得分:1)
你需要使用在C和unix中非常容易的命名管道:
http://tldp.org/LDP/lpg/node11.html 并看到这个答案: https://stackoverflow.com/a/14027358/2743307
在Fortran和UNIX中,您可以使用shellmkfifo
命令:
https://genomeek.wordpress.com/2012/05/07/tips-reading-compressed-file-with-fortran-and-named-pipe/