Linux 實現遍歷列印子目錄中所有檔案

2021-08-15 10:41:48 字數 1278 閱讀 1587

題目要求:實現函式,完成對指定檔案的多層級監控,將目錄下的所有檔案遍歷列印出來。

源**:

1

#include

2#include

3#include

4#include

5#include

6#include

7#include

8#include

9#include

1011

12int scan_dir(char* dir,int depth) //掃瞄目錄下檔案函式

13

2526 chdir(dir); //切換到當前目錄去獲取下一級

27while((entry = readdir(dp)) != null)

28

36printf("%*s%s/\n",depth,"",entry->d_name); //輸出目錄名稱

37 scan_dir(entry->d_name,depth+4); //遞迴呼叫,掃瞄下一級目錄

3825

26 chdir(dir); //切換到當前目錄去獲取下一級

27while((entry = readdir(dp)) != null)

28

36printf("%*s%s/\n",depth,"",entry->d_name); //輸出目錄名稱

37 scan_dir(entry->d_name,depth+4); //遞迴呼叫,掃瞄下一級目錄

3839 }

40else

41

44 }

4546 closedir(dp); //關閉子目錄流

47return

0; 48 }

4950

5152

int main()

53

該函式的作用是遍歷目錄,將指定路徑下的 所有子目錄和檔案輸出到終端上。遍歷子目錄使用的方法是遞迴呼叫,首先,判斷子目錄流指標所指向的檔案是否為目錄檔案。如果是,該函式將呼叫自身去遍歷子目錄;如果不是則輸出檔名稱,繼續遍歷當前目錄,直到子目錄流指向null。函式中引數 dir 為路徑,指定需要遍歷的檔案路徑,depth引數的作用是在子目錄前增加空格的數量,每一輪遞迴都將增加4個空格,這樣個容易顯示出目錄的層次。

linux遍歷目錄及其子目錄

1 在linux下遍歷某一目錄下內容linux下歷遍目錄的方法一般是這樣的 2 開啟目錄 讀取 關閉目錄 4 include 5 dir opendir const char dirname 6 struct dirent readdir dir dirp 7 int closedir dir di...

C 遍歷子目錄檔案

winform介面設計 放置乙個textbox控制項 命名為 txtpath 兩個按鈕控制項 乙個btnselect,乙個btnstart 乙個顯示檔案列表label控制項 lblfilelist 還有乙個重要的folderbrowserdialog1控制項。1 stringbuilder strf...

Linux中的子目錄介紹

bin 普通使用者的命令 dev 系統中所有裝置檔案 home 普通使用者工作目錄 lost found 發生意外後丟失的檔案 misc 系統配置檔案 net 網路協議狀態資訊 proc 偽檔案系統 sbin 超級使用者命令 srv 網路服務啟動之後所需要取用的資料目錄 tmp 讓一般使用者或者正在...