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;
});
}
xxxxxxxxxx
#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;
});
}
xxxxxxxxxx
#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 ✅