我已經調用一個FORTRAN可執行的處理。可執行文件向用戶請求一個文件並執行操作以查找解決方案。如果在文件中找到多個解決方案,程序會詢問用戶是否想要找到最佳解決方案,基本上該程序有兩個輸入。然後可執行文件生成一個提供程序結果的文本文件。C#過程不接收輸入
過程是能夠運行,但不會產生結果文本文件。此外,當我檢查應用程序的輸出,信息提示(「輸入文件」)是存儲在字符串中的唯一的事情,它不包含最優解的二次提示(「你想找到最優解決方案?「)。任何人都可以給我一個想法,爲什麼會發生這種情況?謝謝。
Process exeProcess = new Process();
exeProcess.StartInfo.FileName = "sdf45.exe";
exeProcess.StartInfo.UseShellExecute = false;
exeProcess.StartInfo.RedirectStandardError = true;
exeProcess.StartInfo.RedirectStandardInput = true;
exeProcess.StartInfo.RedirectStandardOutput = true;
exeProcess.Start();
//input file
exeProcess.StandardInput.WriteLine(Path.GetFileName(filePath));
//find optimal solution
exeProcess.StandardInput.WriteLine("Y");
string output = exeProcess.StandardOutput.ReadToEnd();
exeProcess.WaitForExit();
如何執行請求來自用戶的文件嗎? – Tigran 2012-02-20 20:50:28
所以我看到你在不閱讀它的情況下重定向標準錯誤。如果程序寫很多標準錯誤,這可能會導致問題。 – Servy 2012-02-20 20:52:03
可執行文件要求提供與可執行文件位於同一目錄中的文件的名稱。 – BeingIan 2012-02-20 20:52:57