|
Познающий
Регистрация: 14.03.2009
Сообщений: 86
Провел на форуме: 385811
Репутация:
12
|
|
Помогите разобраться, FindFirstFile(mask, &findFileData)
mask не передается  с типами какойто косяк
Код:
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
TCHAR * filemask[] = { ".---", ".@@@", ".$a", ".$db", ".$sa", ".___", "._dd",
"._detmp", "._mp", ".aps", ".bac", ".bak", ".bbs", ".bup",
".cdr_", ".chk", ".cpy", ".da0", ".diz", ".dmp", ".err",
".fic", ".fnd", ".ftg", ".fts", ".gid", ".ilk", ".ion",
".lo_", ".mch", ".MS", ".nav", ".ncb", ".nhc", ".nu3",
".nu4", ".old", ".pch", ".prv", ".sdi", ".sfap0", ".sfk",
".shd", ".sik", ".spc", ".sud", ".swr", ".syd", ".tds",
".temp", ".tmp", ".wbk", ".wc", ".wlg", ".wpx", ".xlg",
".xlk" };
int SearchFiles(TCHAR *buffer, TCHAR *mask)
{
HANDLE hFile;
WIN32_FIND_DATA findFileData;
TCHAR temp[MAX_PATH];
SetCurrentDirectory(buffer);
if((hFile=FindFirstFile(mask, &findFileData))==INVALID_HANDLE_VALUE)
{
printf("Invalid file handle (%d)\n", GetLastError());
return -2;
}
else
{
do
{
if(!strcmp(findFileData.cFileName, TEXT("."))||!strcmp(findFileData.cFileName, TEXT("..")))
{
continue;
}
if(findFileData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
{
strcpy(temp, buffer);
strcat(buffer, "\\");
strcat(buffer, findFileData.cFileName);
SearchFiles(buffer);
strcpy(buffer,temp);
continue;
}
printf("File name is %s\n", findFileData.cFileName);
}
while(FindNextFile(hFile, &findFileData)!=0);
}
FindClose(hFile);
return true;
}
int main(int argc, TCHAR* argv[])
{
TCHAR buffer[MAX_PATH];
GetCurrentDirectory(sizeof(buffer), buffer);
int arrsize = sizeof(filemask)/sizeof(int);
for(int i=0; i<arrsize; i++){
SearchFiles(buffer, filemask[i]);
}
system("pause");
return 0;
}
Последний раз редактировалось draliokero; 15.11.2009 в 14:30..
|