#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;
}
本文地址:http://com.8s8s.com/it/it501.htm