当前位置:   article > 正文

C++遍历文件夹_c++ 遍历文件夹

c++ 遍历文件夹

目录

1. 只遍历当前一层文件夹下内容

2. 递归遍历当前文件夹下所有文件夹及子文件夹

3. 参考


1. 只遍历当前一层文件夹下内容

  1. #include <iostream>
  2. #include <string>
  3. #include <io.h>
  4. int run_main()
  5. {
  6. // 图片所在文件夹,路径不要有中文
  7. std::string imgRoot = "D:/";
  8. _finddata64i32_t fileInfo;
  9. intptr_t hFile = _findfirst((imgRoot + "\\*.*").c_str(), &fileInfo);
  10. if (hFile == -1) {
  11. std::cout << "not find image!\n";
  12. return -1;
  13. }
  14. static int count = 0;
  15. do
  16. {
  17. std::string imgPath = imgRoot + "/" + std::string(fileInfo.name);
  18. std::cout << imgPath << std::endl;
  19. count++;
  20. } while (_findnext(hFile, &fileInfo) == 0);
  21. return EXIT_SUCCESS;
  22. }

2. 递归遍历当前文件夹下所有文件夹及子文件夹

这里需要用到 c++ 17

  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <io.h>
  5. #include <filesystem>
  6. void curDir()
  7. {
  8. std::string imgRoot = "D:/";
  9. using recursive_directory_iterator = std::filesystem::recursive_directory_iterator;
  10. for (const auto& dirEntry : recursive_directory_iterator(imgRoot))
  11. {
  12. std::string filePath = dirEntry.path().string();
  13. std::cout << filePath << std::endl;
  14. }
  15. }

3. 参考

1.C++ 遍历文件夹_wthink0416的博客-CSDN博客

2.如何在标准C++中递归遍历每个文件/目录? |

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/716067
推荐阅读
相关标签
  

闽ICP备14008679号