关于在 C++ 中的集合 STL 中存储文件路径
Regarding Storing file path in set STL in c++
我想存储目录和其中包含的文件。但是我无法对 SET STL
使用 insert
函数。我想忽略由于同一位置有多个文件而出现的重复目录。下面是代码片段。我在插入函数时出错。
using path_1 = std::string;
using paths_1 = std::set <path_1>;
void search()
{
for (recursive_directory_iterator i("."), end; i != end; ++i)
{
if (!is_directory(i->path()))
{
paths_1.insert(i->path().parent_path());
std::cout << i->path().parent_path() << "\n";
}
if (!is_directory(i->path()))
{
files.push_back(i->path().filename());
// std::cout << i->path().filename() << "\n";
}
}
for (auto f : files)
{
store_.save(f);
}
}
你必须有一个std::set
,比如:
paths_1 my_paths;
然后你使用那个实例(不是类型本身):
my_paths.insert(i->path().parent_path());
我想存储目录和其中包含的文件。但是我无法对 SET STL
使用 insert
函数。我想忽略由于同一位置有多个文件而出现的重复目录。下面是代码片段。我在插入函数时出错。
using path_1 = std::string;
using paths_1 = std::set <path_1>;
void search()
{
for (recursive_directory_iterator i("."), end; i != end; ++i)
{
if (!is_directory(i->path()))
{
paths_1.insert(i->path().parent_path());
std::cout << i->path().parent_path() << "\n";
}
if (!is_directory(i->path()))
{
files.push_back(i->path().filename());
// std::cout << i->path().filename() << "\n";
}
}
for (auto f : files)
{
store_.save(f);
}
}
你必须有一个std::set
,比如:
paths_1 my_paths;
然后你使用那个实例(不是类型本身):
my_paths.insert(i->path().parent_path());