Maison >développement back-end >C++ >Comment puis-je capturer la sortie de la console à partir d'une application .NET sans utiliser de fichiers?

Comment puis-je capturer la sortie de la console à partir d'une application .NET sans utiliser de fichiers?

Susan Sarandon
Susan Sarandonoriginal
2025-01-29 12:16:10795parcourir

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

Récupération des sorties de la console des applications .NET: une approche inébranlable

Dans de nombreuses situations, il est utile d'exécuter une application de console à partir d'une application .NET et de capturer sa sortie. Cependant, éviter l'utilisation de fichiers temporaires pour y parvenir peut être délicat.

La solution: levier ProcessStartInfo.RedirectStandardOutput

La clé est la propriété ProcessStartInfo.RedirectStandardOutput. Le définir sur true redirige le flux de sortie standard de l'application de console directement vers votre application .NET.

Voici un exemple de code présentant cette technique:

<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>

Cet extrait de code exécute le compilateur C # (csc.exe), compile un fichier source et capture la sortie du compilateur. La sortie est ensuite affichée à la console.

Remarque importante: Pour une capture complète de sortie, n'oubliez pas de rediriger également le flux d'erreur standard (RedirectStandardError = true) pour gérer toutes les erreurs ou avertissements générés par l'application de console.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn