20231205更新:
想偷个懒在代码路径下生成一个文件夹
if (std::filesystem::exists("./path")) {
//std::cout << "Path exists." << std::endl;
}
else {
std::error_code ec;
std::filesystem::create_directories("./path", ec);
}
C++17 支持文件系统
判断文件夹是否存在
if (!std::filesystem::exists(dir)) {
std::cout << "map path wrong!" << std::endl;
return false;
}
创建文件夹
std::filesystem::create_directories(dir);
想知道文件夹里面有什么
directory_iterator和recursive_directory_iterator的区别:
directory_iterator只能知道文件夹下的所有文件名,recursive_directory_iterator不仅能知道文件夹下的所有文件名,还能知道文件夹下文件夹的文件名;
for (auto const& dir_entry : std::filesystem::directory_iterator(dir) )
{
std::cout << "dir : " << dir_entry.path() << std::endl;
}
这里面有个坑,如果是用普通string()
最好使用generic_string()