展开

开发者手册

C++文件系统 | Filesystemstd::filesystem::begin(recursive_directory_iterator)

std::文件系统::开始%28递归[医]目录[医]迭代器%29,STD::文件系统::End%28递归[医]目录[医]迭代器%29

recursive_directory_iterator begin( recursive_directory_iterator iter );

(1)

(since C++17)

recursive_directory_iterator end( const recursive_directory_iterator& );

(2)

(since C++17)

1%29iter不变

2%29返回默认构造的recursive_directory_iterator,作为最终迭代器。这个论点被忽略了。

这些非会员函数允许使用recursive_directory_iterators具有基于范围的for循环。

参数

iter

-

a recursive_directory_iterator

返回值

1%29iter不变

2%29端迭代器%28默认构造recursive_directory_iterator%29

例外

noexcept规格:

noexcept

二次

代码语言:javascript
复制
#include <fstream>
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
 
int main()
{
    fs::create_directories("sandbox/a/b");
    std::ofstream("sandbox/file1.txt");
    fs::create_symlink("a", "sandbox/syma");
    for(auto& p: fs::recursive_directory_iterator("sandbox"))
        std::cout << p << '\n';
    fs::remove_all("sandbox");
}

二次

可能的产出:

二次

代码语言:javascript
复制
"sandbox/a"
"sandbox/a/b"
"sandbox/file1.txt"
"sandbox/syma"

二次

另见

begin(std::filesystem::directory_iterator)end(std::filesystem::directory_iterator)

range-based for loop support (function)

代码语言:txt
复制
 © cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。