在C#应用程序中使用命令行程序 我编写了一个C++程序(从命令行执行),效果很好。现在我需要将它用于我的C#应用程序。也就是说,我希望我的C++程序的输出在调用时在我的C语言应用程序中使用。
可能吗?如果是,怎么做在C#应用程序中使用命令行程序 我编写了一个C++程序(从命令行执行),效果很好。现在我需要将它用于我的C#应用程序。也就是说,我希望我的C++程序的输出在调用时在我的C语言应用程序中使用。,c#,c++,command-line-interface,C#,C++,Command Line Interface,可能吗?如果是,怎么做 >任何链接或帮助都会被理解。< P> >制作C++代码DLL,并使用pPoNoCK调用C++代码中的C++函数。< /P> 阅读本文: 另一种方法是使用.Net中的类。使用过程,你不需要制作你的C++代码DLL;你可以从C++代码开始你的C++ exe。 你可以使用 Stase.Mydials.Prime< /Cord>来启动C++程序并将其输出重定向到流中,以供C语言应用程序使用。详细信息包括以下具体内容: string command = "arg1 arg2 ar
<> >任何链接或帮助都会被理解。< P> >制作C++代码DLL,并使用pPoNoCK调用C++代码中的C++函数。< /P> 阅读本文:
另一种方法是使用.Net中的类。使用过程,你不需要制作你的C++代码DLL;你可以从C++代码开始你的C++ exe。 你可以使用<代码> Stase.Mydials.Prime< /Cord>来启动C++程序并将其输出重定向到流中,以供C语言应用程序使用。详细信息包括以下具体内容:
string command = "arg1 arg2 arg3"; // command line args
string exec = "filename.exe"; // executable name
string retMessage = String.Empty;
ProcessStartInfo startInfo = new ProcessStartInfo();
Process p = new Process();
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
startInfo.Arguments = command;
startInfo.FileName = exec;
p.StartInfo = startInfo;
p.Start();
using (StreamReader output = p.StandardOutput)
{
retMessage = output.ReadToEnd();
}
p.WaitForExit();
return retMessage;
<>你可以让C++程序把它的输出写入文件,并从文件中读取你的C程序。 如果您的应用程序对性能非常敏感,那么这不是最好的方法
这里是C++程序运行C++程序:
try
{
Process p = StartProcess(ExecutableFileName);
p.Start();
p.WaitForExit();
}
catch
{
Log("The program failed to execute.");
}
<>现在你可以从C++程序中写入文件,并从C程序中读取。< /P>
<>这将告诉你如何从C++程序中写入文件:
这将向您展示如何从C#程序中读取文件:
既然OP似乎没有留下任何进一步的评论,我不禁想,这还不够吗?我想它可以归结为“中的对象,无论何时调用它”。如果“IT”指的是C++程序,那么Andy Mikula的答案是最好的。如果“it”指的是C#program,那么我建议:
C:\>myCpluplus.exe | myCsharp.exe
只需在myCsharp.exe中从Console.In读取