我正在遍历c ++ 17 filesystem的规范,试图找到从给定路径中所有文件夹名称的分解中获取矢量的函数,但找不到任何。是什么原因?对我来说似乎是一项基本功能。
答案 0 :(得分:2)
因为不需要在文件系统中。 filesystem :: path仅公开迭代器,其余部分由vector的构造函数完成:
#include <vector>
#include <filesystem>
#include <iostream>
using path = std::experimental::filesystem::path;
path p("C:/RootDir/SubDirectory/SubSubDirectory/SomeFile.txt");
int main() {
std::vector<path::iterator::value_type> v(p.begin(), p.end());
for( auto itr = v.begin(); itr != v.end(); ++itr)
{
std::cout << *itr << std::endl;
}
}