写一个适用与windows系统的
时间: 2024-03-02 15:52:40 浏览: 28
好的,以下是一个在Windows系统上遍历文件夹下所有文件并将文件名存储到vector的代码示例,使用了Windows API:
```c++
#include <iostream>
#include <vector>
#include <windows.h>
int main() {
std::vector<std::string> filenames;
std::string path = "your_folder_path\\*.*";
WIN32_FIND_DATAA fd;
HANDLE hFind = ::FindFirstFileA(path.c_str(), &fd);
if (hFind != INVALID_HANDLE_VALUE) {
do {
if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
filenames.push_back(fd.cFileName);
}
} while (::FindNextFileA(hFind, &fd));
::FindClose(hFind);
}
for (const auto& filename : filenames) {
std::cout << filename << std::endl;
}
return 0;
}
```
其中,`your_folder_path` 是你需要遍历的文件夹路径。代码中使用 Windows API 的 `FindFirstFileA` 和 `FindNextFileA` 函数遍历文件夹下的所有文件和子文件夹,使用 `fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY` 判断是否为文件,如果是则将文件名添加到 `filenames` 向量中。最后遍历 `filenames` 向量并输出文件名。
相关推荐
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)