通过C#向C程序输入多个输入

时间:2014-08-28 07:27:55

标签: c# c++ c

我正在努力将输入传递给通过C#编译C编译程序生成的.exe文件。我的C#代码是:

string line = "1" + " 2 " ;

Process p = new Process();                
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.StartInfo.FileName = "C:\\..\\demo1.exe";
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.Start();
p.StandardInput.WriteLine(line);

p.Close();

我成功传递了读取一个输入的C程序的单个输入。但是当我尝试将多个输入传递给需要多个输入的C程序时,它只运行exe文件并且它不会读取/传递我提供的任何输入。我也隐藏了exe文件的过程,但它打开了它。

我尝试传递多个输入的我的C代码是:

#include<stdio.h>

int main()
{
   int a, b, c;

   printf("Enter two numbers to add\n");
   scanf("%d%d",&a,&b);

   c = a + b;

   printf("Sum of entered numbers = %d\n",c);

   return 0;
}

任何形式的帮助/建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用Write代替WriteLine

另外,如果可能的话,我建议更改C应用程序以将您的输入作为命令行参数,这样您就可以直接使用输入启动它。