最終更新日時(UTC):
が更新

履歴 編集

function
<filesystem>

std::filesystem::path::end(C++17)

iterator end() 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"

Windowsでの例は、Visual C++が正式にファイルシステムライブラリをサポートしていないことから、未検証のサンプルコード・出力となっている。

バージョン

言語

  • C++17

処理系