May 8, 2001
Detta kanske hjälper (VC++ 6):
// Struct för filinnehåll
struct _finddata_t file;
// Hållerkoll på vilken fil i katalogen som var den sista
long hFile;
// Ändra katalog (till de där du vill börja söka
_chdir(path);
// Hämtar första filen och spar info om den i structen (type är en char* som anger sökkriterium t.ex. "*.txt")
hFile= _findfirst (type,&file);
// Hämta nätsta fil i mappen
_findnext(hFile,&file);
// Kolla om det är en katalog (kan vara bra för att se när det är dax att byta katalog)
if(file.attrib==_A_SUBDIR)
// Denna flagga sätts när det inte finns några filer eller mappar kvar i katalogen (som ett resultat av findfirst eller findext
while (errno!=2)
// Skriva ut namnet på filen
file.name
// Detta returnerar aktuell sökväg
char buff[_MAX_PATH];
_getcwd(buff,_MAX_PATH)
Med detta borde du med hjälp av rekursion kunna lista alla filer från en angiven mapp eller från roten.
ex.
funk1(sökväg, type) {
Byt till önskad katalog
Öppna första filen
while(errno!=2) {
Om det är en mapp {
Anropa funk1 med mappen som sökväg (relativ)
Backa i filsystemet (beroende på hur koden skrivs)
Hämta nästa fil i mappen
}
Annars {
Skriv ut filnamnet
Hämta nästa fil i mappen
}
}
}
Hoppas jag inte gjort alltför många fel, klockan är mycket 🙂
Lycka till!
Desktop: Gigabyte GA-MA770-DS3 | AMD Phenom II 955 BE | 8GB PC6400 | Samsung 1TB + 500GB | Powercolor HD3870
3DMark 2006: 11932 3DMark Vantage: P5137
Laptop: Macbook Pro 2012 | 8GB | Samsung 830 128GB SSD
HTPC: Mac Mini | 3GB | 500GB
1 Guest(s)