c # — Перенаправление вывода — вывод печатается после завершения процесса

Я написал C++ консольное приложение, которое (используя обычное printf звонки) печатает сообщения на консоль.

Кроме того, я написал C# консольное приложение, которое запускает несколько экземпляров C++ приложение.

Я пытаюсь (для использования в других приложениях) перенаправить вывод C++ приложение, изнутри C# приложение, к консоли.

Вот мой C# код приложения:

    private static  void OutputRedirection(object sendingProcess, DataReceivedEventArgs outLine)
{
try
{
if (outLine.Data != null)
Console.WriteLine(outLine.Data);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

private static void RunAPP()
{
var newProcess = new Process();
newProcess.StartInfo.FileName = m_baseDir + @"\" + m_myApp;
newProcess.StartInfo.WorkingDirectory = m_baseDir;
newProcess.StartInfo.UseShellExecute = false;
newProcess.StartInfo.RedirectStandardOutput = true;
newProcess.OutputDataReceived += OutputRedirection;
newProcess.Start();
newProcess.BeginOutputReadLine();
}

Однако, когда я делаю это, я вижу перенаправленный вывод только после завершения процесса (это означает, что C++ Приложение завершено.

Есть ли способ сделать вывод перенаправленным на Real-Time — это означает, что вывод будет выведен на консоль в тот момент, когда C++ приложение запускает это?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]