如何使用 C 或 C++ 函数获取特定文件夹中的文件数?

inj*_*joy 2 c c++ dirent.h

可能的重复:
计算目录中具有给定扩展名的文件数 - C++?

如何使用c或c++函数获取特定文件夹中的文件数?是否有任何 c 库函数可以获取给定目录中的文件数?

Ste*_*rol 6

这是 opendir/readdir/closedir 使用的一个工作示例(这里没有递归):

void listdir(char *dir) {
  struct dirent *dp;
  DIR *fd;

  if ((fd = opendir(dir)) == NULL) {
    fprintf(stderr, "listdir: can't open %s\n", dir);
    return;
  }
  while ((dp = readdir(fd)) != NULL) {
  if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
    continue;    /* skip self and parent */
  printf("%s/%s\n", dir, dp->d_name);
  }
  closedir(fd);
}
Run Code Online (Sandbox Code Playgroud)