質問: コマンドでは`ls -U1 | wc -l`のように記述するとファイル数が帰ってくるようですが、C言語でファイル数を取得するにはどのようにしたらいいですか?
回答: ファイルかどうかをチェックした上でファイル数をカウントするのであれば以下のコードになるかと思います。 ``` #include #include #include #include int main(int argc, char* argv[]) { int n = 0; struct dirent *de; DIR *d = opendir("."); while ((de = readdir(d))) { struct stat st; if (stat(de->d_name, &st) == 0 && st.st_mode & S_IFREG) n++; } closedir(d); printf("ファイルが %d 個あります\n", n); return 0; } ```