1 #include<iostream>
2 #include<string>
3 #include<io.h>
4 using namespace std;
5
6 void filesearch(string path,int layer)
7 {
8 struct _finddata_t filefind;
9 string curr=path+"\\*.*";
10 int done=0,i,handle;
11 if((handle=_findfirst(curr.c_str(),&filefind))==-1)
12 return;
13
14 while(!(done=_findnext(handle,&filefind)))
15 {
16 printf("测试的--%s\n",filefind.name);
17 if(!strcmp(filefind.name,"..")){
18
19 continue;
20 }
21
22 for(i=0;i<layer;i++)
23 cout<<" ";
24
25
26
27
28 if ((_A_SUBDIR==filefind.attrib))
29 {
30 printf("----------%s\n",filefind.name);
31 cout<<filefind.name<<"(dir)"<<endl;
32 curr=path+"\\"+filefind.name;
33 filesearch(curr,layer+1);
34 }
35 else
36 {
37 cout<<filefind.name<<endl;
38 }
39 }
40 _findclose(handle);
41 }
42 int main()
43 {
44 string path;
45 cout<<"请输入目录"<<endl;
46 cin>>path;
47 filesearch(path,0);
48 system("PAUSE");
49 return 0;
50 }
51