·
ftw()
opendir
表頭檔案:
#include
定義函式:
int ftw(const char *dir, int (*fn) (const *file, const struct stat *sb, int flag), int depth)
函式說明:
ftw()
會從引數
dir指定的目錄開始,往下一層層地遞迴式遍歷子目錄。
ftw()
會傳三個引數給
fn(),
第乙個引數
*file
指向當時所在的目錄路徑,第二個引數是
*sb,
為stat
結構指標,第三個引數為旗標,有下面幾種可能值
ftw_f
一般檔案
ftw_d
目錄ftw_dnr
不可讀取的目錄,此目錄以下將不被遍歷
ftw_sl
符號連線
ftw_ns
無法取得
stat
結構資料,有可能是許可權問題
最後乙個引數
depth
代表ftw
()在進行遍歷目錄時同時開啟的檔案數。
ftw()
在遍歷時每一層目錄至少需要乙個檔案描述詞,如果遍歷時用完了
depth
所給予的限制數目,整個遍歷將因不斷地關檔案和開檔案操作而顯得緩慢
如果要結束
ftw()
的遍歷,
fn()
只需返回一非零值即可,此值同時也會是
ftw()
的返回值。否則
ftw()
會試著走完所有的目錄,然後返回0
返回值:遍歷中斷則返回
fn()
函式的返回值,全部遍歷則返回
0,若有錯誤發生則返回
-1附加說明:由於
ftw()
會動態配置記憶體使用,請使用正常方式(
fn函式返回非零值)來中斷遍歷,不要在
fn函式中使用
longjmp()
nftw
遍歷目錄樹
表頭檔案:
#include
定義函式:
int nftw(const char *dir, int (*fn)(const char *file, const struct stat *sb, int flag, struct ftw *s),
depth, int flags)
函式說明:
nftw()
與ftw()
很像,都是從引數
dir指定的目錄開始,
往下一層層地遞迴遍歷子目錄。每進入乙個目錄,便會呼叫引數
*fn定義的函式來處理。
nftw()
會傳四個引數給
fn().
第乙個引數
*file
指向當時所在的目錄路徑,第二個引數是
*sb,
為stat
結構指標(結構定義請參考
stat()
),第三個引數為旗標,有底下幾種可能值
:ftw_f
一般檔案
ftw_d
目錄ftw_dnr
不可讀取的目錄。此目錄以下將不被遍歷
ftw_sl
符號連線
ftw_ns
無法取得
stat
結構資料,在可能是許可權問題
ftw_dp
目錄,而且子目錄都已被遍歷過了
ftw_sln
符號連線,但連線不存在的檔案
fn()
的第四個引數是
ftw結構,定義如下:
struct ftw
nftw()
第三個引數
depth
代表nftw()
在進行遍歷目錄時可同時開啟的檔案數。
ftw()
在遍歷時每一層目錄至少需要乙個檔案描述詞,如果遍歷時用完了
depth
所給予的限制數目,整個遍歷將因不斷地關檔案和開檔案操作而顯得的緩慢
nftw()
最後乙個引數
flags
用來指定遍歷時的動作,可指定下列的操作或用
or組合
ftw_chdir
在讀目錄之前先用
chdir()
移到此目錄
ftw_depth
執行深度優先搜尋。在遍歷此目錄前先將所有子目錄遍歷完
ftw_mount
遍歷時不要跨越到其他檔案系統
ftw_phys
不要遍歷符號連線的目錄。缺省會遍歷符號連線目錄
如果要結束
nftw()
的遍歷,
fn()
只需返回一非
0值即可,此值同時也會是
nftw()
的返回值。否則
nftw()
會試著遍歷完所有目錄,然後返回0返
回值:遍歷中斷則返回
fn()
函式的返回值,
全部遍歷完則返回
0,若有錯誤發生則返回
-1
cmd for 遍歷目錄 python 遍歷目錄樹
假定你希望對某個資料夾中的所有檔案改名,包括該資料夾中所有子資料夾中 的所有檔案。也就是說,你希望遍歷目錄樹,處理遇到的每個檔案。寫程式完成這 件事,可能需要一些技巧。好在,python 提供了乙個函式,替你處理這個過程。請看 c delicious 資料夾及其內容,如圖所示。這裡有乙個例子程式,針...
php 禁止遍歷目錄,php無限遍歷目錄
以上就介紹了php無限遍歷目錄,包括了方面的內容,希望對php教程有興趣的朋友有所幫助。用的函式有 isset 判斷某個變數是否定義chdir 將當前目錄改變為指定的目錄。opendir 開啟目錄。readdir 讀取目錄。getcwd 獲取當前目錄。還用到了for if get傳值 大概就這些東東...
shell遍歷目錄
bin bash list alldir if gt 0 then list alldir 1 else list alldir fi root gbackup1 zhaoyj chmod x bianli.sh root gbackup1 zhaoyj bianli.sh home sysadmi...