最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<filesystem>

# std::filesystem::begin(C++17)

    namespace std::filesystem {
      recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept;
    }

## 概要

先頭要素を指すイテレータを取得する。

この関数は、`recursive_directory_iterator`クラスのオブジェクトを範囲for文に適用するために定義されている。

## 戻り値

    return iter;

## 例

    #include <iostream>
    #include <filesystem>
    #include <fstream>

    namespace fs = std::filesystem;

    int main()
    {
      fs::create_directory("dir");
      std::ofstream{"dir/a.txt"};
      std::ofstream{"dir/b.txt"};

      fs::recursive_directory_iterator it{"dir"};

      fs::recursive_directory_iterator first = fs::begin(it);
      fs::recursive_directory_iterator last = fs::end(it);

      for (; first != last; ++first) {
        std::cout << first->path() << std::endl;
      }
    }

### 出力例

    "dir/b.txt"
    "dir/a.txt"

## バージョン

### 言語

- C++17

### 処理系

- Clang: 7.0 ✅
- GCC: 8.1 ✅
- Visual C++: