C++ 遍历目录:使用 std::filesystem 轻松实现
C++ 遍历目录:使用 std::filesystem 轻松实现
在 C++ 中,你可以使用 std::filesystem 命名空间提供的功能来方便地遍历目录。以下代码展示了如何使用 directory_iterator 类来遍历一个目录并输出目录中的文件和子目录:
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
std::string path = 'path/to/directory';
for (const auto& entry : fs::directory_iterator(path)) {
if (entry.is_directory()) {
std::cout << 'Found directory: ' << entry.path() << std::endl;
} else if (entry.is_regular_file()) {
std::cout << 'Found file: ' << entry.path() << std::endl;
}
}
return 0;
}
在这个示例中,我们首先包含了 iostream 和 filesystem 头文件。然后,我们使用 namespace fs = std::filesystem; 来简化代码中的命名空间引用。接着,我们定义了一个字符串 path 来存储要遍历的目录路径。
在 for 循环中,我们使用 fs::directory_iterator(path) 创建了一个迭代器,并使用 const auto& entry 来遍历目录中的每个条目。对于每个条目,我们使用 entry.is_directory() 和 entry.is_regular_file() 方法来判断该条目是目录还是文件,并输出相应的信息。
使用 std::filesystem 库,你可以轻松地实现 C++ 中的目录遍历操作。你还可以使用其他方法来获取文件或目录的属性,例如大小、修改时间等等。
原文地址: https://www.cveoy.top/t/topic/f0rI 著作权归作者所有。请勿转载和采集!