c++遍历指定目录下的所有文件
作者:野牛程序员:2024-01-03 16:27:34 C++阅读 2454
使用C++遍历指定目录下的所有文件通常需要使用操作系统提供的文件系统库。以下是一个使用C++17中的<filesystem>
库的示例代码,该库提供了方便的文件和目录操作:
#include <iostream> #include <filesystem> namespace fs = std::filesystem; void traverseDirectory(const fs::path& directoryPath) { for (const auto& entry : fs::directory_iterator(directoryPath)) { if (fs::is_directory(entry.status())) { // 如果是子目录,递归遍历 traverseDirectory(entry.path()); } else if (fs::is_regular_file(entry.status())) { // 如果是文件,可以在这里进行处理 std::cout << entry.path() << std::endl; } // 还可以处理其他类型的文件,如符号链接等 } } int main() { fs::path targetDirectory = "指定目录的路径"; // 替换为实际的目录路径 traverseDirectory(targetDirectory); return 0; }
请注意,这段代码假设你的编译器支持C++17的<filesystem>
库。需要根据你的编译环境进行相应的调整。这个例子中,使用fs::directory_iterator
遍历目录,并使用fs::is_directory
和fs::is_regular_file
检查条目是目录还是文件。如果是目录,则递归遍历;如果是文件,则在此处可以进行相关的处理。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892