シェルコマンド(my_program)から出力を取得します。プログラムがまだからの出力を得るだけでなく、実行されている間、私は永久に私のプログラムを実行し、出力を取得したいC++で実行されているシェルコマンドの出力を永久に取得します
:
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
FILE *in;
char buff[512];
if(!(in = popen("my_program", "r"))){
return 1;
}
while(fgets(buff, sizeof(buff), in)!=NULL){
cout << buff;
}
pclose(in);
return 0;
}
問題:ここでthisサイトから取った例でありますプログラムを一度。
ありがとうございました。
1)3つのパイプを開き、2)フォークオフ、3) 'dup2'とジグルファイル記述子、4)' exec'を子に入れます。 –
あなたの質問はあまり明確ではありません - あなたは永久に何を意味しますか?なぜ、 'my_program'を '永久に'動かさないのですか? – trojanfoe
@KerrekSB、私はすでにフォーク/スレッドの使用を考えていました。しかし、別のオプションがあるかどうかを知りたい。ご回答有難うございます。 –