私はfortran実行可能ファイルを呼び出すプロセスを持っています。実行可能ファイルは、ユーザーからファイルを要求し、解決策を見つけるための操作を実行します。ファイル上に複数の解が見つかった場合、プログラムは、最も最適な解を探したいかどうかをユーザーに尋ねます。基本的にはプログラムの2つの入力です。実行可能ファイルは、プログラムの結果を提供するテキストファイルを生成します。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
標準エラーを読まずにリダイレクトしています。それは、プログラムが標準エラーに多くを書き込む場合に問題を引き起こす可能性があります。 – Servy
実行可能ファイルは、実行可能ファイルと同じディレクトリにあるファイルの名前を尋ねます。 – BeingIan