4

以下のコードを使用して、Linux で C によってコマンドを実行します。この関数の出力しか取得できません。正常に実行されたかどうかを検出するにはどうすればよいですか? これを表す戻りコードはありますか?

const char * run_command(const char * command)
{

    const int BUFSIZE = 1000;

    FILE *fp;
    char buf[BUFSIZE];

    if((fp = popen(command, "r")) == NULL)
       perror("popen");
    while((fgets(buf, BUFSIZE, fp)) != NULL)
       printf("%s",buf);

    pclose(fp);

    return buf;
}
4

3 に答える 3