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# 콘솔로 리디렉션되지 않습니다. 사용하는 경우처럼, CvCapture * capture = cvCaptureFromCAM (1); 은 C# console로 리디렉션되지 않는 printf 문 다음에옵니다. – Gimz