
09.11.2008, 23:17
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
С нами:
9746420
Репутация:
119
|
|
2 Zitt, вот еще примерчик, откопал в ахивах
Код:
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#define MAX 100
void FindDir();
main(int argc, char *argv[])
{
FindDir("C:\\", "*.*");
}
void FindDir(char* path,char* mask)
{
WIN32_FIND_DATA wfd;
char file[100] = "";
HANDLE hfound;
char newpath[MAX_PATH];
char fpath[MAX_PATH];
char delpath[MAX_PATH];
FILE *f;
strcpy(fpath,path);
strcat(fpath,"\\");
strcpy(delpath,fpath);
strcat(fpath,mask);
f = fopen("dirs.txt", "a");
if((hfound=FindFirstFile(fpath,&wfd))!=INVALID_HANDLE_VALUE)
{
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
//
printf("Error: %d\n", GetLastError());
}
while(FindNextFile(hfound,&wfd))
{
int i = 1;
if(!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
i = 0;
}
if(i && (strcmp(wfd.cFileName, "..") != NULL))
fprintf(f, "%s\n", wfd.cFileName);
}
}
fclose(f);
FindClose(hfound);
strcpy(fpath,path);
strcat(fpath,"\\*.*");
if((hfound=FindFirstFile(fpath,&wfd))!=INVALID_HANDLE_VALUE)
{
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
strcpy(newpath,path);
strcat(newpath,"\\");
strcat(newpath,wfd.cFileName);
FindDir(newpath,mask);
}
while(FindNextFile(hfound,&wfd))
{
if((wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)&&strcmp(wfd.cFileName,"..")&&strcmp(wfd.cFileName,"."))
{
strcpy(newpath,path);
strcat(newpath,"\\");
strcat(newpath,wfd.cFileName);
FindDir(newpath,mask);
}
}
}
}
|
|
|
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|