21xrx.com
2025-06-29 07:03:05 Sunday
登录
文章检索 我的文章 写文章
C++如何获取指定目录下所有文件列表
2023-07-07 14:55:09 深夜i     20     0
C++ 获取 指定目录 文件列表

C++作为一门流行的编程语言,在处理文件操作时有着十分优秀的表现。获取指定目录下的所有文件列表也不例外。在本篇文章中,我们将探讨C++如何获取指定目录下的所有文件列表。

首先,我们需要头文件 ,这个头文件提供了操作目录的函数。函数opendir()可以打开一个目录,并返回目录指针,readdir()可以读取目录中的文件夹和文件。具体代码实现如下:

#include <dirent.h>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<string> getFiles(string filePath) {
  DIR *dir;
  vector<string> files;
  struct dirent *ptr;
  if ((dir = opendir(filePath.c_str())) != nullptr) {
    while ((ptr = readdir(dir)) != nullptr) {
      if (ptr->d_type == DT_REG) {
        files.push_back(ptr->d_name);
      }
    }
    closedir(dir);
  }
  return files;
}
int main() {
  vector<string> files = getFiles("C:/test");
  for (int i = 0; i < files.size(); i++) {
    cout << files[i] << endl;
  }
  return 0;
}

在上述代码中,我们定义了函数getFiles()来获取目录下所有文件名,参数filePath为目标路径。我们使用opendir()打开该路径,读取每个文件和文件夹,如果是文件则返回文件名。

最后,在main()中我们调用getFiles()函数并输出文件名列表。这里filePath测试使用"C:/test"路径,请根据实际路径调整。

总结一下,使用C++获取指定目录下的所有文件列表只需调用opendir()和readdir()函数即可,逻辑简单,对于初学者来说,十分友好。如果你还没有学过C++,那么现在是时候学习一下了,具体操作还需要自己动手尝试。

  
  

评论区