int FindFile(const char* directory, int* count, char** result)
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind;
char pattern[MAX_PATH];
int i = 0;
char dir[MAX_PATH];
//*count = 0;
// 开始查找
strcpy(pattern, directory);
strcat(pattern, "\\*");
hFind = FindFirstFile((LPCWSTR)pattern, &FindFileData);
if (hFind == INVALID_HANDLE_VALUE)
{
*count = 0;
}
else
{
do{
if (!strcmp((const char*)FindFileData.cFileName, ".") || !strcmp((const char*)FindFileData.cFileName, ".."))
continue;
memset(dir, 0, MAX_PATH);
strcpy(dir, directory);
strcat(dir, "\\");
strcat(dir, (const char*)(FindFileData.cFileName));
if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
//floder
FindFile(dir, count, result);
continue;
}
else
{
//file
strcpy(result[(*count)++], dir);
//*count = i;
}
} while (FindNextFile(hFind, &FindFileData) != 0);
}
// 查找结束
FindClose(hFind);
return TRUE;
return 0;
}