#include<filesystem>
#include<iostream>namespacefs=std::filesystem;void_Find_Files_r(constfs::path&p){for(constauto&entry:fs::directory_iterator(p)){autofilename=entry.path().string();if(entry.is_regular_file()){std::cout<<"File:"<<filename<<std::endl;}if(entry.is_symlink()){std::cout<<"Link:"<<filename<<std::endl;}if(entry.is_directory()){std::cout<<"Folder:"<<filename<<std::endl;_Find_Files_r(entry);}}}inlinevoidFind_Files_r(constfs::path&p){if(fs::exists(p)&&fs::is_directory(p)){_Find_Files_r(p);}else{// other mysterious type}}intmain(){Find_Files_r(fs::current_path());std::cin.get();}
#include<filesystem>
#include<iostream>namespacefs=std::filesystem;void_Find_Files_r(constfs::path&p){for(constauto&entry:fs::directory_iterator(p)){autofilename=entry.path().string();if(entry.is_regular_file()){std::cout<<"File:"<<filename<<std::endl;}if(entry.is_symlink()){std::cout<<"Link:"<<filename<<std::endl;}if(entry.is_directory()){std::cout<<"Folder:"<<filename<<std::endl;_Find_Files_r(entry);}}}inlinevoidFind_Files_r(constfs::path&p){if(fs::exists(p)&&fs::is_directory(p)){_Find_Files_r(p);}else{// other mysterious type}}intmain(){Find_Files_r(fs::current_path());std::cin.get();}
安全:
C++
#include<filesystem>
#include<iostream>namespacefs=std::filesystem;void_Find_Files_r(constfs::path&p){autobegin=fs::begin(fs::directory_iterator(p));autoend=fs::end(fs::directory_iterator(p));while(begin!=end){try{autoentry=*begin;autofilename=entry.path().string();if(entry.is_regular_file()){std::cout<<"File:"<<filename<<std::endl;}if(entry.is_symlink()){std::cout<<"Link:"<<filename<<std::endl;}if(entry.is_directory()){std::cout<<"Folder:"<<filename<<std::endl;_Find_Files_r(entry);}++begin;}catch(fs::filesystem_errora){std::cout<<"Bad Link:"<<a.path1()<<std::endl;++begin;}}}inlinevoidFind_Files_r(constfs::path&p){if(fs::exists(p)&&fs::is_directory(p)){_Find_Files_r(p);}else{// other mysterious type}}intmain(){Find_Files_r(fs::current_path());std::cin.get();}