パイプについて
Posted: 2007年8月11日(土) 15:51
パイプを使って対話型のコンソールアプリケーションと話がしたいのですが、
どういう風にすればいいのかが良く分かりません。
感じ的には、
①パイプStdinPipe、StdOutPipeをpipe関数で作る。//モードが良く分からない…
②dup関数で標準入出力をコピーする。
③dup2で標準入出力にパイプを組み込む //自作のストリームに組み込めたらfputsとか使えるのに・・・
④子プロセスを起こす //どの関数を使えばいいのだろう・・・多すぎる
⑤dup2で標準入出力を戻す
⑥readやwriteでプロセスと話す。
でいいんでしょうか。
例えば、下のTest.exeと言うプログラムと話すにはどうすればいいのでしょうか?(Test.exeが出力したものを画面に出力してユーザーの入力をTest.exeに渡す
どういう風にすればいいのかが良く分かりません。
感じ的には、
①パイプStdinPipe、StdOutPipeをpipe関数で作る。//モードが良く分からない…
②dup関数で標準入出力をコピーする。
③dup2で標準入出力にパイプを組み込む //自作のストリームに組み込めたらfputsとか使えるのに・・・
④子プロセスを起こす //どの関数を使えばいいのだろう・・・多すぎる
⑤dup2で標準入出力を戻す
⑥readやwriteでプロセスと話す。
でいいんでしょうか。
例えば、下のTest.exeと言うプログラムと話すにはどうすればいいのでしょうか?(Test.exeが出力したものを画面に出力してユーザーの入力をTest.exeに渡す
//--------------------------------
// Test.exe
//--------------------------------
#include<stdio.h>
int main(){
char name[125];
int ch,i=0;
printf("Hello. What your name?\n");
gets(name);
printf("Hello,%s\n",name);
return 0;
}