c# 调用控制台程序并传参 获取控制台输出(解释器的前台处理)

编写一段C0代码 对这段代码进行编译 “C0解释器.exe”的控制台应用程序是后台程序,用来对编写的语言进行编译执行

调用C0解释器进行错误检查,显示错误的内容:

//比如说调用一个 “C0解释器.exe”的控制台应用程序来处理数据  并获取处理的结果 
System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo = new System.Diagnostics.ProcessStartInfo();
            p.StartInfo.FileName = "C0解释器.exe";
            p.StartInfo.Arguments = FilePath+" "+"check";//"C0解释器.exe"的相对路径  空格分隔各个参数 这里有两个参数。
            p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;//让窗体不显示
            p.Start();
System.IO.StreamReader reader = p.StandardOutput;//截取输出流
            string line = reader.ReadLine();//每次读取一行
            textBox1.Text = p.StandardOutput.ReadToEnd();//获得的结果显示在listbox1中

如果控制台程序是C++在主main函数中获得的第一个参数是控制台文程序的路径,所以应该从第二个参数作处理

如果控制台程序是C#   在主main函数中第一个参数就是所要传送的第一个参数“check”

调用C0解释器进行解释执行(显示控制台界面):

代码

System.Diagnostics.Process p
= new System.Diagnostics.Process();
p.StartInfo
= new System.Diagnostics.ProcessStartInfo();
p.StartInfo.FileName
= "C0解释器.exe";
p.StartInfo.Arguments
= FilePath + " " + "run";//参数是run
p.Start();

原文地址:https://www.cnblogs.com/shit/p/1938759.html