21xrx.com
2024-12-22 21:01:10 Sunday
登录
文章检索 我的文章 写文章
C++获取所有文件名
2023-07-02 02:39:10 深夜i     --     --
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++获取指定目录下所有文件名的方法,这对于文件操作类的编程十分有用。

  
  

评论区

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