У меня есть процесс, который вызывает исполняемый файл 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