用于c++的文件系统迭代器

File system iterator for C++

本文关键字:迭代器 文件系统 c++ 用于      更新时间:2023-10-16

我想要一个基本的类似c++ stl的文件系统容器。

std::filesystem::const_iterator i = filesys.begin();  
i->file_name(); i->full_path(), 

等。

这样的东西存在吗?

是。它的存在。几乎相似,至少可以使用STL迭代器和容器。

boost::文件系统

的例子:

path p ("directorypath");
std::vector<path> v;                      
std::copy(directory_iterator(p), directory_iterator(), std::back_inserter(v));
for (std::vector<path>::const_iterator it=v.begin(); it != v.end(); ++it)
{
     std::cout << "   " << *it << std::endl;
}

我想,现在你想看看directory_iterator,看看它还提供了什么。

另一个是STLSOFT platformstl::readdir_sequence。

此处提供的示例

我相信boost::filesystem库有这个功能。

Visual c++ 2012现在有了一些东西。参见c++ 11文件系统(VS2012)。还有http://msdn.microsoft.com/en-us/library/hh874694.aspx用于VS2013的实现。