ファイル一覧を取得する。

stdlib.h の system()関数を用いて "ls"コマンドを実行できます。が、その結果を取得することができません。
--
いろいろなサイトを見て、
stdlib.h の popen()関数を用いて "ls"コマンドの結果を取得することができました。


~~~~~~~~ ソース ~~~~~~~~~

#include <stdio.h>
#include <stdlib.h>

#define BUF 1000

int main(void)
{
        FILE *fp; //ファイルポインタ

        char *cmdline = "ls"; //lsコマンド

        if*1 == NULL)  //ls実行結果をfpへ格納
        {
                perror("can not exec command");
                exit(1);
        }

        char line[BUF];

        int i = 0;
        while(fgets(line, BUF, fp) != NULL)  //ls結果を1行毎に取り出す。
        {
                i++;
                printf("file%d: %s", i, line);
        }

        (void) pclose(fp); //ファイルポインタ閉じる。

        return 0;
}

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~  結果(イメーシ゛) ~~~~
file1: abc.c
file2: 123.c
file3: hello.c
file4: ex_add.c
~~~~~~~~~~~~~~~~~~~~~~~~~~

*1:fp = popen(cmdline, "r"