21xrx.com
2024-11-08 22:21:13 Friday
登录
文章检索 我的文章 写文章
C++实现读取文件夹下所有文件名
2023-06-28 04:38:41 深夜i     --     --
C++ 实现 读取 文件夹 文件名

在C++编程中,有时我们需要读取存储在某个文件夹中的所有文件名,以便进行进一步的操作。本文介绍一种实现读取文件夹下所有文件名的方法。

首先,我们需要使用C++标准库中的 头文件来读取文件夹下的所有文件名。例如,我们可以使用以下代码来打开指定文件夹:


#include <fstream>

#include <iostream>

#include <string>

#include <dirent.h>

using namespace std;

int main() {

  string path = "/path/to/folder/"; // 文件夹路径

  DIR* dir = opendir(path.c_str()); // 打开文件夹

  if (dir == NULL)

    cout << "无法打开指定文件夹" << endl;

    return -1;

  

  // ...

  closedir(dir);

  return 0;

}

使用opendir()函数打开文件夹,如果返回值为NULL,则说明无法打开指定文件夹。

接下来,我们可以使用readdir()函数来读取文件夹下的所有文件名。readdir()函数返回一个dirent结构体,其中包含了文件名等信息。

下面是完整的代码实现:


#include <fstream>

#include <iostream>

#include <string>

#include <dirent.h>

using namespace std;

int main() {

  string path = "/path/to/folder/"; // 文件夹路径

  DIR* dir = opendir(path.c_str()); // 打开文件夹

  if (dir == NULL)

    cout << "无法打开指定文件夹" << endl;

    return -1;

  

  struct dirent* entry;

  while ((entry = readdir(dir)) != NULL) {

    if (entry->d_type == DT_REG) // 判断是否为文件

      string filename = entry->d_name;

      cout << filename << endl;

    

  }

  closedir(dir);

  return 0;

}

以上代码中,我们使用了while循环来读取文件夹下所有文件名,并使用entry->d_type来判断是否为文件。如果是文件,我们就使用entry->d_name来获取文件名,并将其输出到控制台。

可以看到,在C++中实现读取文件夹下所有文件名是非常简单的。使用 头文件中的函数,我们可以轻松地读取并操作文件夹中的所有文件。如果您需要进一步操作这些文件,请根据需要修改代码。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复