#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; }

|