Ho bisogno di ricorsivamente ottenere tutti i file dalla directory e dalla sua sottodirectory, ma escludendo diverse directory. Conosco i loro nomi. È possibile fare con boost :: filesystem :: recursive_directory_iterator?boost :: filesystem :: recursive_directory_iterator con filtro
11
A
risposta
19
Sì, mentre l'iterazione di directory, è possibile verificare i nomi sulla vostra lista di esclusione e utilizzare il no_push()
membro del iteratore ricorsiva per evitare che andare in un tale directory, qualcosa di simile:
void selective_search(const path &search_here, const std::string &exclude_this_directory)
{
using namespace boost::filesystem;
recursive_directory_iterator dir(search_here), end;
while (dir != end)
{
// make sure we don't recurse into certain directories
// note: maybe check for is_directory() here as well...
if (dir->path().filename() == exclude_this_directory)
{
dir.no_push(); // don't recurse into this directory.
}
// do other stuff here.
++dir;
}
}
Problemi correlati
- 1. recursive_directory_iterator genera l'eccezione
- 2. come eseguire boost :: filesystem copy_file con sovrascrittura
- 3. Ottieni percorso assoluto con boost :: filesystem :: percorso
- 4. Espansione percorso utente con boost :: filesystem
- 5. boost :: filesystem aggiungendo le virgolette?
- 6. Errore di collegamento boost per boost filesystem, perché?
- 7. boost filesystem :: percorso costruttore std :: length_error
- 8. C++ BOOST riferimento undefined a `boost :: filesystem :: detail :: copy_file
- 9. Come usare copy_file in boost :: filesystem?
- 10. Perché non c'è boost :: filesystem :: move_file?
- 11. Risolvi i collegamenti simbolici con il filesystem boost
- 12. Come creare un file con boost filesystem senza aprirlo
- 13. Boost che collega riesco
- 14. Come posso copiare una directory usando Boost Filesystem
- 15. Come verificare se il percorso è valido in boost :: filesystem?
- 16. Come convertire un boost :: filesystem :: directory_iterator in un const char *
- 17. C++ Boost Filesystem: come modificare lo stelo da un percorso?
- 18. Quali compilatori supportano std :: filesystem?
- 19. come determinare se il file è contenuto dal percorso con boost filesystem v3
- 20. Monitoraggio del filesystem con Haskell
- 21. Filtro dinamico con liipImagineBundle
- 22. boost :: TIME_UTC (_) con diverse versioni boost
- 23. git-merge con repository sul filesystem locale
- 24. Posso accedere al filesystem con Google NaCl?
- 25. primefaces fileupload filtro con filtro utf8 caratteri
- 26. boost :: filesystem exists() sul percorso della directory non riesce, ma is_directory() è ok
- 27. con boost :: test di
- 28. VS2013 Boost con NuGet
- 29. static_cast con boost :: shared_ptr?
- 30. Punzonatura con boost :: asio
è è possibile filtrare la directory basata su symlink. Non voglio cercare nel file symlink – user765443