zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    JavaScript Array filter() 方法
    Object.assign方法的使用入门
    使用ES6新特性async await进行异步处理
    win10系统怎么设置软件开机启动
    【ES6学习笔记之】Object.assign()高级编程
    如何使用闭包形成计数器
    多次调用settimeout 如何使用单例模式
    在线表单设计器现在已经开源
    VisualStudio2017集成GitHub
    PHP使用curl替代file_get_contents
  • 原文地址:https://www.cnblogs.com/shit/p/1938759.html
Copyright © 2011-2022 走看看