1777:文件结构“图”
生活随笔
收集整理的這篇文章主要介紹了
1777:文件结构“图”
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1777:文件結構“圖”
- 查看
- 提交
- 統計
- 提問
在計算機上看到文件系統的結構通常很有用。Microsoft Windows上面的"explorer"程序就是這樣的一個例子。但是在有圖形界面之前,沒有圖形化的表示方法的,那時候最好的方式是把目錄和文件的結構顯示成一個"圖"的樣子,而且使用縮排的形式來表示目錄的結構。比如:
| dir1
| file1
| file2
| file3
| dir2
| dir3
| file1
file1
file2
這個圖說明:ROOT目錄包括三個子目錄和兩個文件。第一個子目錄包含3個文件,第二個子目錄是空的,第三個子目錄包含一個文件。
你需要注意的是,我們使用一個'|'和5個空格來表示出縮排的層次。
一個目錄和它的里面的文件處于同一層次
?
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 using namespace std; 5 string a; 6 int cc;//輸出深度 7 int now=1;//記錄當前*數量 8 int flag=0; 9 void work() 10 { 11 string str[50];//儲存該目錄下的文件 12 int l=0; 13 while(cin>>a) 14 { 15 if(flag==0&&a[0]!='#') 16 { 17 cout<<"DATA SET "<<now<<":"<<endl; 18 cout<<"ROOT"<<endl; 19 flag=1; 20 } 21 if(a[0]=='#') 22 return; 23 else if(a[0]=='*') 24 { 25 cc=0; 26 sort(str+0,str+l); 27 for(int i=0;i<l;i++) 28 { 29 cout<<str[i]<<endl; 30 } 31 cout<<endl; 32 now++; 33 //cout<<"DATA SET "<<now<<":"<<endl; 34 //cout<<"ROOT"<<endl; 35 flag=0; 36 work(); 37 } 38 else if(a[0]=='d') 39 { 40 //cc++; 41 //str[l]=a; 42 //l++; 43 cc++; 44 for(int i=1;i<=cc;i++) 45 { 46 cout<<"|"; 47 for(int j=1;j<=5;j++) 48 cout<<" "; 49 } 50 cout<<a<<endl; 51 work(); 52 } 53 else if(a[0]=='f') 54 { 55 56 str[l]=a; 57 l++; 58 continue; 59 } 60 else if(a[0]==']') 61 { 62 63 sort(str+0,str+l); 64 for(int i=0;i<l;i++) 65 { 66 for(int k=1;k<=cc;k++) 67 { 68 cout<<"|"; 69 for(int j=1;j<=5;j++) 70 cout<<" "; 71 } 72 cout<<str[i]<<endl; 73 } 74 cc--; 75 return; 76 } 77 } 78 } 79 int main() 80 { 81 //freopen("r.txt","r",stdin); 82 //freopen("w.txt","w",stdout); 83 work(); 84 return 0; 85 }?
總結
以上是生活随笔為你收集整理的1777:文件结构“图”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS运行库介绍
- 下一篇: F5基于证书认证的客户端登录