質問: 将棋所() のようなソフトウェアを作りたいです 将棋所のように,CUIプログラムをGUIプログラムから起動して,メッセージのやり取りを行うにはどのような機構を利用すれば良いのでしょうか? 将棋所はC#で書かれているように見えますが,C言語でも同じようなプログラムを作ることはもちろん可能ですよね?
回答: リンク先で配布されているLesserkaiのLesserkai.cppによると、**標準入出力**を用いて通信を行っているようです。つまりC#側の実装は以下のようなものになっていると考えられます。 1. `ProcessStartInfo`を作成する 2. `ProcessStartInfo.RedirectStandardInput`および`RedirectStandardOutput`を`true`に設定する 3. `Process.Start`を実行し、子プロセス`Lesserkai.exe`を起動する 4. `Process.StandardInput`にコマンドを書き込む 5. `Process.StandardOutput`から結果を読み込む 6. 4と5を繰り返す このような処理はC言語を含めてほとんどのプログラミング言語で行うことが出来ます。