by Anonymous » 13 Apr 2025, 07:47
Ich möchte wissen, ob das Überprüfen von Multiples -Dateien in einem Verzeichnis mit einem
prüft von Dateiennamen [/b] Verwenden
Code: Select all
std::filesystem::directory_iterator
[/b] ist schneller als die Verwendung von
[/b]. In meinem Kontext gibt es einen Vorteil, dies zu tun?
Code: Select all
#include
#include
void download_file(const std::string& file_name){
// download file and save on directory
}
int main(){
std::unordered_set existing_files;
// adding files of directory to the set
for (const auto& entry : std::filesystem::directory_iterator()) {
existing_files.insert(entry.path().filename().string());
}
auto files_to_check = { "file1.txt", "file2.txt", ... };
for (const auto& file_name: files_to_check) {
if (existing_files.contains(file_name)) { // std::filesystem::exists(file_name)
continue;
}
download_file(file_name);
}
return 0;
}
[url=viewtopic.php?t=14917]Ich möchte[/url] wissen, ob das Überprüfen von Multiples -Dateien in einem Verzeichnis mit einem [b] prüft[code]std::unordered_set[/code] von Dateiennamen [/b] Verwenden [b][code]std::filesystem::directory_iterator[/code] [/b] ist schneller als die Verwendung von [b][code]std::filesystem::exists[/code] [/b]. In meinem Kontext gibt es einen Vorteil, dies zu tun?[code]#include
#include
void download_file(const std::string& file_name){
// download file and save on directory
}
int main(){
std::unordered_set existing_files;
// adding files of directory to the set
for (const auto& entry : std::filesystem::directory_iterator()) {
existing_files.insert(entry.path().filename().string());
}
auto files_to_check = { "file1.txt", "file2.txt", ... };
for (const auto& file_name: files_to_check) {
if (existing_files.contains(file_name)) { // std::filesystem::exists(file_name)
continue;
}
download_file(file_name);
}
return 0;
}
[/code]