4.10 遍历指定目录

效果

源码

#include

#include

DWORD EnumerateFileInDrectory(LPSTR szPath){

WIN32_FIND_DATA FindFileData;

HANDLE hListFile;

CHAR szFilePath[MAX_PATH];

lstrcpy(szFilePath, szPath);

//查找所有 .txt 结尾的文件

//lstrcat(szFilePath, "\\*.txt");

lstrcat(szFilePath, "\\*");

//查找第一个文件/目录,获得句柄

hListFile = FindFirstFile(szFilePath, &FindFileData);

if (hListFile == INVALID_HANDLE_VALUE){

printf("错误: %d\n", GetLastError());

return 1;

} else{

do{

/*

这部分代码可以不显示 . 和 ..

if(lstrcmp(FindFileData.cFileName,TEXT(".")) == 0 || lstrcmp(FindFileData.cFileName,TEXT("..")) == 0){

continue;

}

*/

//打印文件名/目录名

printf("%s", FindFileData.cFileName);

if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_ENCRYPTED){

printf(" 加密");

}

if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN){

printf(" 隐藏");

}

if (FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){

printf(" 目录");

}

//更多...

printf("\n");

} while (FindNextFile(hListFile, &FindFileData));

}

return 0;

}

int main(int argc, PCHAR argv[]){

if (argc == 2){

EnumerateFileInDrectory(argv[1]);//遍历指定的目录

} else{

CHAR szCurrentPath[MAX_PATH];

GetCurrentDirectory(MAX_PATH, szCurrentPath);//遍历当前目录

EnumerateFileInDrectory(szCurrentPath);

}

getchar();

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容