#include <string.h>
#include <windows.h>
#include <stdio.h>
FILE *fw;
void FindFiles(char *slozka)
{
char pom[256];
WIN32_FIND_DATA fd;
HANDLE h;
// struktury pro hledání funkcí
sprintf(pom, "%s*", slozka);
// vlozeni *
h = FindFirstFile(pom, &fd);
// najdi jakýkoli - "*" první soubor na adrese C:
if(!h)
return; // žádný tam není
while(1) {
// ve fd.cFileName je nážev souboru, můžeme ho zpracovat ...
if(strcmp(".", fd.cFileName) && strcmp("..", fd.cFileName)) {
if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
sprintf(pom, "%s%s\\", slozka, fd.cFileName);
// vytvoření cesty
FindFiles(pom);
// projdi tuto složku
} else { // je to soubor
sprintf(pom, "%s%s\n", slozka, fd.cFileName);
// vytvoření názvu
fputs(fw, pom);
// zapsání do souboru
}
}
if(FindNextFile(h, &fd) == 0)
break; // Je tam ještě další soubor ?
}
}
int main()
{
fw = fopen("C:\\tree.txt", "w");
// vytvoří soubor
FindFiles("C:\\");
// projeď strom na disku c ...
fclose(fw);
// uzavři soubor
}
|