C#コンソール(printf( "")ステートメント)の出力をC#コンソールにリダイレクトしたい。続きC#コンソールへのC++コンソール出力のリダイレクトで何も印刷されない
は私が
Process e = new Process();
e.StartInfo.UseShellExecute = false;
e.StartInfo.RedirectStandardOutput = true;
e.StartInfo.FileName = "C:\\Users\\Projects\\ot\\x64\\Debug\\ot.exe";
e.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
e.Start();
e.BeginOutputReadLine();
を持っている。しかし、私はすべての出力が届かないものです。 C++コンソールは何も出力しません(出力がリダイレクトされたことを意味します)。
この問題を解決するにはどうすればよいですか?
おかげで、
[OutputDataReceived](http://msdn.microsoft.com/en-us/library/system.diagnostics.process.outputdatareceived.aspx)には、「非同期を処理しているアプリケーション出力はWaitForExit()メソッドを呼び出して、出力バッファがフラッシュされていることを確認する必要があります。 –
レイモンドさんに感謝します。しかし、それはWaitForExit()でも同じです。実際、私のC++はOpenCVを使用するアプリケーションです。 OpenCV関連の関数を使用すると、printf文だけがC#consoleにリダイレクトされません。使用している場合のように、 CvCapture * capture = cvCaptureFromCAM(1); Cのコンソールにリダイレクトされないprintfステートメントの後。 – Gimz