C ++ 17文件路径分解为文件夹名称

时间:2018-10-12 09:25:56

标签: c++ filesystems c++17

我正在遍历c ++ 17 filesystem的规范,试图找到从给定路径中所有文件夹名称的分解中获取矢量的函数,但找不到任何。是什么原因?对我来说似乎是一项基本功能。

1 个答案:

答案 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;
    }
}