#include <iostream>
#include <windows.h>
#include <cstring>
using namespace std;
void ListFile(char* szDir)
{
char szTempDir[MAX_PATH+1];
strcpy(szTempDir,szDir);
strcat(szTempDir,"*");
HANDLE hFindFile;
WIN32_FIND_DATA FileData;
hFindFile = FindFirstFile(szTempDir,&FileData);
if( hFindFile == INVALID_HANDLE_VALUE )
{
return ;
}
else
{
do
{
if( (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
&& strcmp(FileData.cFileName,".")
&& strcmp(FileData.cFileName,".."))
{
char szNewDir[MAX_PATH+1];
strcpy(szNewDir,szDir);
strcat(szNewDir,FileData.cFileName);
strcat(szNewDir,"//");
ListFile(szNewDir);
}
else
{
cout<<szDir<<FileData.cFileName<<endl;
}
}
while(FindNextFile(hFindFile,&FileData));
FindClose(hFindFile);
}
}
int main()
{
char szPath[MAX_PATH+1];
while(cin>>szPath)
{
if(szPath[strlen(szPath)-1]!='//')
strcat(szPath,"//");
ListFile(szPath);
}
return 0;
}
此博客展示了一段C++代码,通过包含<iostream>、<windows.h>等头文件,定义了ListFile函数用于递归遍历指定目录下的文件和子目录,并在main函数中获取用户输入的路径,调用ListFile函数输出文件列表。

被折叠的 条评论
为什么被折叠?



