2012-12-17 131 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