std::filesystem::path::begin, std::filesystem::path::end
来自 cppreference.com
< cpp | filesystem | path
iterator begin() const; |
(1) | (自 C++17 起) |
iterator end() const; |
(2) | (自 C++17 起) |
1) 返回指向路径第一个元素的迭代器。如果路径为空,则返回的迭代器等于 end().
2) 返回指向路径最后一个元素之后的迭代器。对该迭代器进行解引用会导致未定义的行为。
由这对迭代器表示的序列包括以下内容
- root-name(如果有)。
- root-directory(如果有)。
- 一系列 file-name,省略任何目录分隔符。
- 如果路径中最后一个 file-name 后面有目录分隔符,则 end 迭代器之前的最后一个元素是一个空元素。
内容 |
[编辑] 参数
(无)
[编辑] 返回值
1) 指向路径第一个元素的迭代器。
2) 指向路径末尾之后的迭代器
[编辑] 异常
可能抛出实现定义的异常。
[编辑] 示例
运行此代码
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { const fs::path p = # ifdef _WIN32 "C:\\users\\abcdef\\AppData\\Local\\Temp\\"; # else "/home/user/.config/Cppcheck/Cppcheck-GUI.conf"; # endif std::cout << "Examining the path " << p << " through iterators gives\n"; for (auto it = p.begin(); it != p.end(); ++it) std::cout << *it << " │ "; std::cout << '\n'; }
可能的输出
--- Windows --- Examining the path "C:\users\abcdef\AppData\Local\Temp\" through iterators gives "C:" │ "/" │ "users" │ "abcdef" │ "AppData" │ "Local" │ "Temp" │ "" │ --- UNIX --- Examining the path "/home/user/.config/Cppcheck/Cppcheck-GUI.conf" through iterators gives "/" │ "home" │ "user" │ ".config" │ "Cppcheck" │ "Cppcheck-GUI.conf" │