当前位置:   article > 正文

C++:查找两个目录中文件的不同文件_c++对比两个文件内容

c++对比两个文件内容

有的时候需要比较两个目录中有什么不同的文件,可以使用如下方法:

  1. #include <iostream>
  2. #include <filesystem>
  3. #include <set>
  4. #include <vector>
  5. #include <algorithm>
  6. #include <set>
  7. #include <algorithm>
  8. using namespace std::filesystem;
  9. using namespace std;
  10. void getEachFile(const string& rootFolder, const string& folder, set<string>& fileSet)
  11. {
  12. directory_iterator iterDir(folder);
  13. for (auto &it: iterDir)
  14. {
  15. if(it.is_regular_file())
  16. {
  17. string&& filePath = it.path().string().substr(rootFolder.length() + 1);
  18. fileSet.emplace(filePath);
  19. }
  20. else if(it.is_directory())
  21. {
  22. getEachFile(rootFolder, it.path().string(), fileSet);
  23. }
  24. }
  25. }
  26. template<class T>
  27. set<T> getDiff(set<T>& ori1, set<T>& ori2)
  28. {
  29. set<T> result;
  30. set_difference(ori1.begin(), ori1.end(), ori2.begin(), ori2.end(), inserter(result, result.begin()));
  31. return result;
  32. }
  33. int main()
  34. {
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/799216
推荐阅读
相关标签
  

闽ICP备14008679号