• ベストアンサー

popen関数について

C言語にお詳しい方、ご回答お願いします。 popen関数の具体的な使用法(プログラム)と解説をお願いいたします。いろいろなサイトで探したのですが、なかなかわかりやすい解説がなく、「他のアプリケーションにパイプをつなぐ」ということぐらいしかわかりませんでした。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#119918
noname#119918
回答No.2

ごく簡単な例ですが、コマンドを実行し、その結果を読み出すプログラムです。 sakusaker7さんも書いておられますが、何をしたいのか書いた方が 適切なアドバイスを受けられると思います。 #include <stdio.h> #include <stdlib.h> int main(void) { FILE* p = popen("netstat" , "r"); char buf[80]; if(p == NULL) // popen失敗検知 { perror("popen"); exit(EXIT_FAILURE); } while((fgets(buf , 80 , p)) != NULL) // 実行結果読み出し { printf("%s" , buf); } pclose(p); return 0; }

noname#48747
質問者

お礼

お礼が遅くなってしまってすいません。 おかげさまで理解が深まりました。 ありがとうございました。

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

探して見つからなかったということですけど、 popenとpclose http://www.fireproject.jp/feature/c-language/pipe/open-close.html ここにあるような説明でもわかりませんか? あと >「他のアプリケーションにパイプをつなぐ」ということぐらいしかわかりませんでした。 こういう状態で、そもそもなんでpopenを使おうとしているのかが疑問です。 具体的に何をやりたいのですか?

noname#48747
質問者

お礼

お礼が遅くなってしまってすいません。 おかげさまで理解が深まりました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう