目录
疑问
代码
结果
疑问
怎么用呢?constauto& entry : std::filesystem::directory_iterator(mainFolderPath)中,entry 表示的是什么呢?是mainFolderPath里的文件夹名字吗?还是路径呢?【答案是路径】。我们打印代码记忆一下,印象会更深。
代码
废话不多说,先上代码,如下:
#include <iostream>
#include <string>
#include <filesystem>
int main() {
// 输入主文件夹路径和输出文件夹路径
std::string mainFolderPath = "D:\\BaiduNetdiskDownload\\as\\1";
std::string clearFolderPath = "C:\\Users\\15135\\Desktop\\result";
if (std::filesystem::exists(mainFolderPath)) {
// 遍历主文件夹
for (const auto& entry : std::filesystem::directory_iterator(mainFolderPath)) {
std::cout << "entry.path()=====" << entry.path() << std::endl;
//entry是不同的文件夹
if (entry.is_directory()) {
// 这里是一个空块,表示在检测到目录时不执行任何操作
}
}
}
else {
std::cerr << "Error: mainFolderPath does not exist." << std::endl;
}
std::cin.get(); // 等待用户按下 Enter 键
return 0;
}
结果
从输出结果,我们就可以看出,其实,entry 是文件夹里面的每一个文件的路径。它已经给我们拼接好了。