|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Aug 2014
Messaggi: 3
|
Motore di Ricerca Interno
Salve Gente,
Vi esplico il mio problema, nella maniera più breve possibile, sono mesi che sto cercando di produrre un Motore di Ricerca, interno al pc in C o in C++, questo motore deve cercare tutti i miei file, nelle varie periferiche del mio PC, oppure darmi la possibilità di scegliere la periferca, trovati i file, mi deve creare una Directory col nome dell'estensione del file e quindi inserire tutti i file con quella estensione nella Directory. Sono mesi che sto cercando di progettarla, conosco la base del C/C++ però non conosco le funzioni specifiche per la ricerca di file e altro, poteTe aiutarmi? Vi ringrazio di Cuore, sono mesi che sto impazzendo ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
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. |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Aug 2014
Messaggi: 3
|
una risposta molto dettagliata, grazie Freaxxx, provo subito come mi hai detto, non so dirTi la versione del C, perchè uso un software che usavo alle Superiori, il Dev C++, che però so che non hanno più aggiornato, quindi molte librerie, le vado a cercare in rete e poi le inserisco nella cartella delle librerie C, il Sistema Operativo è un Win 7 Home Premium, sul link che mi hai postato è spiegato a grandi linee come usare la libreria che mi hai consigliato?
Comunque grazie mille per la Info, mi metto subito al lavoro, in caso di difficoltà, posso chiederTi nuovamente aiuto, magari postandoTi, spezzetoni di Codice? |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12814
|
Ti suggerisco, dato che sei su Windows, di virare su C# e usare Visual Studio
![]() L'ampia libreria .NET dovrebbe fare al caso tuo e semplificarti la vita. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:06.