21xrx.com
2024-06-03 00:09:31 Monday
登录
文章检索 我的文章 写文章
C++:获取文件夹下的所有子文件夹文件名
2023-07-12 09:44:20 深夜i     --     --
C++编程 文件夹 子文件夹 文件名 获取

C++是一门广泛应用于计算机科学及软件工程领域的编程语言。而获取文件夹下的所有子文件夹文件名是一项常见的程序需求,在C++中如何实现呢?

首先,需要引入头文件。目前最常用的文件操作库是“fstream”。这个库中包含许多打开文件、读写文件、关闭文件和检查文件状态的函数。

接下来,需要定义一个函数,用于获取文件夹下的所有子文件夹文件名。这个函数通常需要传入一个参数,即需要获取文件名的文件夹路径。在函数中,可以使用“fstream”库中的函数打开文件夹,使用文件指针遍历该文件夹中的文件和子文件夹。

其中关键点是遍历文件夹中的子文件夹,可以使用递归函数来完成。如果在遍历过程中发现还有子文件夹,则再次调用该函数,从而完成子文件夹内的文件遍历。

最后,将得到的所有文件名存储到一个容器中,例如std::vector中,返回容器即可。

下面是一个简单的C++代码实现,用于获取文件夹下的所有子文件夹文件名:

#include

#include

#include

#include  // C++17的文件系统库

using namespace std;

void GetAllFilesInFolder(const string& FolderPath, vector & FileNames) {

  namespace fs = std::filesystem;

  for (const auto& entry : fs::recursive_directory_iterator(FolderPath))

  {

    if (fs::is_directory(entry.status()))

      continue; // 如果是子文件夹则跳过

    FileNames.push_back(entry.path().string());

  }

}

int main() {

  vector FileNames;

  GetAllFilesInFolder("D:\\MyFolder", FileNames);

  for (const auto& FileName : FileNames)

    cout << FileName << endl;

  return 0;

}

以上就是C++中获取文件夹下的所有子文件夹文件名的简单实现。当然,因为不同的操作系统对文件操作有所不同,所以在使用时还需要根据实际情况对代码进行适当的修改。

  
  

评论区

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