View Single Post
Old 21-08-2014, 22:29   #2
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
... addirittura mesi ... , prima di tentare di risolvere il problema bisognerebbe fare 2 conti con quello che si ha a disposizione e poi considerare se ci vuole qualche extra o se è possibile partire con lo studio del problema.

Né C né C++, in una qualsiasi delle versioni correntemente commercializzate supportano operazioni su filesystems, le librerie standard dei due linguaggi non ti permettono di fare alcunché con i/il filesystem, permettono solo qualcosa di realmente basico e minimale come l'apertura di un file, ma per il resto nulla.

Quindi, punto 1: ti serve una libreria per accedere al filesystem.

in C++ ce ne sono tantissime, dipende dalla tua piattaforma e dalla versione di C++ che vuoi usare, una delle più note è http://www.boost.org/doc/libs/1_56_0.../doc/index.htm .

Dovresti facilmente risolvere con una discesa ricorsiva lungo l'albero delle directories, in pratica parti dalla radice, controlli se ci sono directory e/o files, se esistono directory listi i files dentro quella directory e così via fintanto che non esaurisci e visiti tutte le directory a tutti i livelli sotto la tua radice .

Al limite se non usi C++11 ti serve anche una libreria per le regex per controllare con quali estensioni stai avendo a che fare o semplicemente controllare un certo pattern dato il nome del file.

1 libreria per il filesystem, uno scan ricorsivo a partire dalla radice che vuoi, operazioni con delle regex, questo è quanto, non c'è bisogno di altro.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso