c++读取文件夹内文件名
时间: 2024-11-20 10:24:36 浏览: 5
linux,windows,C++读取路径下文件和文件夹.zip
在 C++ 中,要读取文件夹内的所有文件名,通常需要使用操作系统提供的 API 或者第三方库,例如 Boost 库中的 filesystem。以下是使用 Boost Filesystem 的基本步骤:
```cpp
#include <boost/filesystem.hpp>
#include <iostream>
#include <vector>
std::vector<std::string> listFilesInDirectory(const std::string& directoryPath) {
boost::filesystem::path path(directoryPath);
if (!boost::filesystem::exists(path)) {
std::cerr << "Directory does not exist: " << path.string() << std::endl;
return {};
}
std::vector<std::string> filenames;
for (const auto& entry : boost::filesystem::directory_iterator(path)) {
if (entry.is_regular_file()) { // 只获取普通文件,忽略目录等其他类型
filenames.push_back(entry.path().filename().string());
}
}
return filenames;
}
int main() {
std::string dir = "/path/to/your/directory"; // 替换为你想要读取的实际路径
std::vector<std::string> files = listFilesInDirectory(dir);
for (const auto& file : files) {
std::cout << "File name: " << file << std::endl;
}
return 0;
}
```
在这个例子中,`listFilesInDirectory` 函数会返回指定目录下所有的文件名。注意这个代码假设你的项目已经包含了 Boost 库,并且你的系统支持该库。
阅读全文