パイプについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Lbfuvab

パイプについて

#1

投稿記事 by Lbfuvab » 18年前

パイプを使って対話型のコンソールアプリケーションと話がしたいのですが、
どういう風にすればいいのかが良く分かりません。
感じ的には、
①パイプ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;
}

たかぎ

Re:パイプについて

#2

投稿記事 by たかぎ » 18年前

> パイプを使って対話型のコンソールアプリケーションと話がしたいのですが、
> どういう風にすればいいのかが良く分かりません。

処理系に依存せずにパイプを使う方法はありません。

Lbfuvab

Re:パイプについて

#3

投稿記事 by Lbfuvab » 18年前

Windows XP上で動けばいいんです。
頼みます。

たかぎ

Re:パイプについて

#4

投稿記事 by たかぎ » 18年前

CreatePipe
http://msdn2.microsoft.com/en-us/library/aa365152.aspx
または
CreateNamedPipe
http://msdn2.microsoft.com/en-us/library/aa365150.aspx
について調べてみましょう。

Lbfuvab

Re:パイプについて

#5

投稿記事 by Lbfuvab » 18年前

有難うございました

閉鎖

“C言語何でも質問掲示板” へ戻る