21xrx.com
2025-03-30 11:45:57 Sunday
文章检索 我的文章 写文章
C++获取所有文件名
2023-07-02 02:39:10 深夜i     22     0
C++ 获取 文件名

在C++编程中,有时需要获取某个目录下的所有文件名。这可以通过使用标准库中的文件流和文件系统库来实现。

要实现此功能,我们可以使用以下步骤:

1. 导入头文件:

#include <iostream>
#include <filesystem>

2. 使用文件流打开目录:

std::filesystem::directory_iterator dir_iterator("/your/path");

这将创建一个`directory_iterator`对象,用于迭代目录中的所有文件和子目录。

3. 遍历目录并获取文件名:

for (const auto &file : dir_iterator) {
  if (std::filesystem::is_regular_file(file.path())) { //如果是文件则输出
    std::cout << file.path().filename() << std::endl;
  }
}

这将遍历目录中的所有文件和子目录。在循环中,我们使用`is_regular_file()`函数检查是否为普通文件,如果是,则输出文件名。

完整代码如下:

#include <iostream>
#include <filesystem>
int main() {
  std::filesystem::directory_iterator dir_iterator("/your/path");
  for (const auto &file : dir_iterator) {
    if (std::filesystem::is_regular_file(file.path())) {
      std::cout << file.path().filename() << std::endl;
    }
  }
  return 0;
}

请注意,此代码在使用标准库的文件系统库时进行编译,因此需要使用C++17或更高版本。

在总结中,以上步骤提供了C++获取指定目录下所有文件名的方法,这对于文件操作类的编程十分有用。

  
  

评论区