C++을 사용하여 특정 디렉토리에서 중복 파일을 제거하기위한 부스트 파일 시스템의 방법/접근 방법이 있습니까?부스트 파일 시스템을 사용하여 중복 파일을 제거하는 방법/접근법이 있습니까?
아래 코드를 사용하여 특정 디렉토리의 모든 파일을 검색했습니다. 이제 복제본을 찾아서 제거하고 싶습니다.
코드 부스트 파일 시스템을 사용하여 디렉토리에 재귀 적으로 파일을 나열하려면 :
void listFiles()
{
fs::path sourceFolder;
//SourceFolder
std::cout<<"SourceFolder:";
std::cin>>sourceFolder;
for(fs::recursive_directory_iterator it(sourceFolder), end_itr; it != end_itr; ++it)
{
if(!fs::is_regular_file(it->status()))
continue;
std::cout <<it->path().filename() <<endl;
}
std::cout<<"Thanks for using file manager";
}
사전에 감사합니다.
같은 이유로 중복> 2의 (많은) 세트를 필요로 예상 할 때. 결과를 저장하는 데 많은 시간이 걸리지는 않지만 해시가 고유하지 않기 때문에 ** 나중에도 전체 검사를 수행해야합니다. 따라서 잠재적 인 중복을 발견하면 전체 파일을 두 번 읽어야합니다. – MSalters