在C++11中std遍历文件夹下的所有文件,并获取文件名字
时间: 2024-09-24 16:26:23 浏览: 400
C++遍历文件夹下的所有文件
在C++11标准中,并没有直接提供内置函数来遍历文件夹。但是你可以借助Boost库或者第三方库如`filesystem`来实现这个功能。如果你不想引入额外依赖,可以使用系统调用或者C风格的递归函数。下面是一个简单的例子,使用`std::filesystem`:
```cpp
#include <iostream>
#include <filesystem>
void list_files_in_directory(std::string path) {
for (const auto & entry : std::filesystem::directory_iterator(path)) {
if (!entry.is_directory()) { // 只列出非目录项
std::cout << "File name: " << entry.path().filename() << std::endl;
}
}
}
int main() {
std::string directory_path = "your_directory_path"; // 替换为你想要遍历的目录路径
list_files_in_directory(directory_path);
return 0;
}
```
在这个示例中,`std::filesystem::directory_iterator`用于迭代指定路径下的每个文件和目录。`is_directory()`检查每个条目是否为目录。如果找到的是文件,就打印出文件名。
阅读全文