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

履歴 編集

function
<filesystem>

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

    iterator begin() const;

## 概要

ディレクトリ区切りした各パス要素のうち、先頭要素を指すイテレータを取得する。

## 戻り値

このクラスが保持するパス文字列を、ディレクトリ区切り文字で走査するイテレータのうち、最初の要素を指すイテレータを返す。

パス区切りの詳細は、`iterator`クラスのページを参照。

## 例

### POSIXベースシステムでの例

    #include <iostream>
    #include <filesystem>
    #include <algorithm>

    namespace fs = std::filesystem;

    int main()
    {
      fs::path p = "/usr/bin/clang";

      fs::path::iterator first = p.begin();
      fs::path::iterator last = p.end();
      std::for_each(first, last, [](const fs::path& element) {
        std::cout << element << std::endl;
      });
    }

#### 出力

    "/"
    "usr"
    "bin"
    "clang"

### Windowsでの例

    #include <iostream>
    #include <filesystem>
    #include <algorithm>

    namespace fs = std::filesystem;

    int main()
    {
      fs::path p = "C:/Program Files/a.txt";

      fs::path::iterator first = p.begin();
      fs::path::iterator last = p.end();
      std::for_each(first, last, [](const fs::path& element) {
        std::cout << element << std::endl;
      });
    }

#### 出力

    "C:"
    "/"
    "Program Files"
    "a.txt"

## バージョン

### 言語

- C++17

### 処理系

- Clang:
- GCC: 8.1 ✅
- Visual C++: 2017 Update 7 ✅