ホームページ >バックエンド開発 >C++ >ファイルを使用せずに.NETアプリケーションからコンソール出力をキャプチャするにはどうすればよいですか?

ファイルを使用せずに.NETアプリケーションからコンソール出力をキャプチャするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-29 12:16:10794ブラウズ

How Can I Capture Console Output from a .NET Application Without Using Files?

.NETアプリケーションからコンソール出力を取得する

多くの状況では、.NETアプリケーション内からコンソールアプリケーションを実行して、その出力をキャプチャすることが有用です。 ただし、これを達成するために一時的なファイルの使用を避けることは難しい場合があります。

解決策:レバレッジ

ProcessStartInfo.RedirectStandardOutputキーはプロパティです。 これを

に設定すると、コンソールアプリケーションの標準出力ストリームを.NETアプリケーションに直接リダイレクトします。

この手法を紹介するコードの例:ProcessStartInfo.RedirectStandardOutput true このコードスニペットは、C#コンパイラ()を実行し、ソースファイルをコンパイルし、コンパイラの出力をキャプチャします。 次に、出力がコンソールに表示されます

重要な注意:

完全な出力キャプチャについては、コンソールアプリケーションによって生成されたエラーまたは警告を処理するように標準エラーストリーム(
<code class="language-csharp">// Initiate a new process for the console application
Process compiler = new Process();

// Configure process settings
compiler.StartInfo.FileName = "csc.exe";
compiler.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs";

// Enable output redirection
compiler.StartInfo.UseShellExecute = false;
compiler.StartInfo.RedirectStandardOutput = true;

// Begin the process
compiler.Start();

// Capture the output
string output = compiler.StandardOutput.ReadToEnd();

// Display the captured output
Console.WriteLine(output);

// Wait for process completion
compiler.WaitForExit();</code>
)をリダイレクトすることも忘れないでください。

以上がファイルを使用せずに.NETアプリケーションからコンソール出力をキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。