質問: popen(str,"r"); while(1){ fgets(st,HOGE,fp); if(feof(fp)){ break; } } pclose(fp); return st; } ```
回答: gccの出力は不要であれば、`system`関数を使い、その返り値を評価すればよいと思います。 質問のケースで言えば、このような感じでしょうか? ``` int LC(int a,char b) { char str[255]; int result = 0; /* * 注: 標準出力、標準エラーからの出力は捨てるコマンドラインにする. */ sprintf(str,"gcc %c.c -o %c%d > /dev/null 2>&1", b, b, a); result = system(str); /* * 注: system()の仕様に従い、WEXITSTATUSマクロでコマンドの実行結果 * のみ取り出す. */ return WEXITSTATUS(result); } ``` `gcc`の出力が必要であれば、 metropolisさんのコメントのように、`pclose`関数の戻り値を取得すればよいと思います。