#include<Windows.h>
#include<stdio.h>
#include<string.h>
WIN32_FIND_DATA findData;
char d[MAX_PATH];
void findall(HANDLE aim)
{
while (FindNextFile(aim, &findData))
{
if (strcmp(findData.cFileName, ".") == 0 || strcmp(findData.cFileName, "..") == 0)
{
continue;
}
if (findData.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
int len = strlen(d);
d[len - 1] = '\0';
strcat(d, "\\");
strcat(d, findData.cFileName);
strcat(d, "\\*");
findall(FindFirstFile(d, &findData));
d[len - 1] = '*';
d[len] = '\0';
}
else
{
int len = strlen(d);
d[len - 1] = '\0';
printf("%s%s\\\n", d,findData.cFileName);
d[len - 1] = '*';
d[len] = '\0';
}
}
FindClose(aim);
}
int main()
{
for (char i = 'A'; i <= 'Z'; i++)
{
sprintf(d, "%c:\\*", i);
HANDLE h = FindFirstFile(d, &findData);
if (h != INVALID_HANDLE_VALUE)
{
findall(h);
}
FindClose(h);
}
}
win32下利用FindFirstFile与FindNextFile遍历全盘文件
最新推荐文章于 2021-04-25 15:49:30 发布