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