通过C#对C程序进行多个输入

本文关键字:输入 程序 通过 | 更新日期: 2023-09-27 18:19:38

我正在将输入传递到一个.exe文件,该文件是由编译器通过C#编译C程序生成的。我的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;
}

任何形式的帮助/建议都将不胜感激。

通过C#对C程序进行多个输入

您是否尝试过使用Write而不是WriteLine

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