考虑到将来有可能需要用C#调用C++的程序,先实验一下。



考虑到将来有可能需要用C#调用C++的程序,先实验一下。

先准备下C++程序:



#include <stdio.h>

#include <iostream>

int main()

{

    printf("hi");

    int v1,v2;

    std::cin>>v1;

    v2=v1*2;

    std::cout<<v2<<std::endl;

}


 

用C#调用:


asp.net(C#)调用C++程序并交互操作_#includeasp.net(C#)调用C++程序并交互操作_ios_02大气象


using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;


using System.Diagnostics;


public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        Bind();

    }

    private void Bind()

    {

        Process p = new Process();

        p.StartInfo.FileName = @"F:\code\cpp\FirstCmd\debug\FirstCmd.exe";

        //p.StartInfo.Arguments = "";

        p.StartInfo.UseShellExecute = false;

        p.StartInfo.RedirectStandardInput = true;

        p.StartInfo.RedirectStandardOutput = true;

        p.StartInfo.CreateNoWindow = false;

        p.Start();

        //

        p.StandardInput.WriteLine("2");

        string output = p.StandardOutput.ReadToEnd();

        Response.Write(output);

        //if (p.HasExited)

        //    p.Kill();

    }

}