2012-12-17 100 views
0

我有一个FORTRAN.EXE文件,它运行正常,它会询问 用户输入1或2,如果输入1,它会做一些计算如果输入2,则执行不同类型的计算。从C#运行可执行的Fortran代码并传递参数以运行.exe

我需要从C#代码调用此函数。我知道如何从C#运行.exe文件,但我无法将1或2传递给.exe 我已经使用了不同的方法,但没有运气。

static void Main(string [] args) 
     { 
      string FileName = @"C:\......sco.exe"; 

      process.StartInfo = new ProcessStartInfo(FileName,"3"); 
      Process.Start(process.StartInfo); } 

我真的很感激,如果有人知道如何解决这个问题。我是C#的新手,我无法重写Fortran代码,因为它太过重复。

感谢您阅读这篇文章

+1

“ProcessStartInfo”构造函数的第二个参数指定了命令行参数,目前您将它传递给它3.您是否尝试将该3更改为1或2? – WildCrustacean

+0

是的,我已经尝试过,但没有运气。 – MILAD

回答

0

我不知道C#,所以我不能告诉你如何做到这一点的细节,但在命令行中运行FORTRAN程序时,你可以提供一个带有参数的额外文件。这样称呼:mypgrogram.exe<inputs.ans

在你的情况下,inputs.ans将包含一个单一的12。您可以将该程序要求的每个附加参数放在此文件的新行中。

+0

谢谢。我曾尝试过这个cmd,但我不能运行该程序。我在cmd上执行了mypgrogram.exe <1我收到消息说“系统找不到指定的文件”。任何其他想法? – MILAD

+0

首先创建一个新文件,比如'file.txt'。编辑这个文件并在其中放入一个1。然后用'myprogram.exe bananafish

+0

非常感谢这个作品像魅力。 – MILAD