//main.cpp
include<iostream>
include<dirent.h>
include<string>
include<cstring>
using namespace std;
void out_flags(int level,char c){
for(int i=0;i<=level;i++)
cout<<c;
}
void list(const char * path,int level){
cout<<"please input the target:"<<endl;
DIR * dp;
struct dirent * dir;
if(((dp=opendir(path))==NULL)){
cout<<"error!"<<endl;
return;
}
else{
cout<<"DIRENCTORY::"<<path<<endl;
}
while((dir=readdir(dp))!=NULL){
//file
if(dir->d_type==8){
out_flags(level,'*');
cout<<dir->d_name<<endl;
continue;
}
else {
if((strcmp(dir->d_name,".")==0)||(strcmp(dir->d_name,"..")==0))
continue;
//directory
out_flags(level,' ');
string sub_dir=string(path)+"/"+string(dir->d_name);
list(sub_dir.c_str(),level+1);
}
}
}
int main(int argc,char ** argv){
list(argv[1],0);
return 0;
}
/好久没有写博客了,真是很惭愧。最近对学习有些放松,并且把太多的时间花在对外在招式的学习上,而不是真正内功的修炼上,需要注意/