コマンド ライン引数を受け取り、結果を返す C++ exe ファイルを C# アプリケーションに呼び出して、C# アプリケーションで使用できるようにしたいのですが、その方法がわかりません。
ここに私が試して失敗した簡単なサンプルがあります: c++ コード: returner.exe
#include<iostream>
#include<cstdlib>
using namespace std;
int main(string argc , string argv)
{
int b= atoi(argv.c_str());
return b;
}
c# コード:
private void button1_Click(object sender, EventArgs e)
{
ProcessStartInfo stf = new ProcessStartInfo("returner.exe", "3");
stf.RedirectStandardOutput = true;
stf.UseShellExecute = false;
stf.CreateNoWindow = true;
using (Process p = Process.Start(stf))
{
p.WaitForExit();
int a = p.ExitCode;
label1.Text = a.ToString();
}
}
ラベルに 3 が表示されることを期待しています。しかし、それは常に 0 です。私は何をすべきか ?