FTW[linux下的c語言函式]

FTW[linux下的c語言函式]
更多義項 ▼ 收起列表 ▲

FTW是linux下的c語言函式,其會從參數dirpath指定的目錄開始。

,往下一層層地遞歸式遍歷子目錄。ftw()會傳三個參數給fn(), 第一個參數*fpath指向當時所在的目錄路徑,第二個參數是*sb, 為stat結構指針,第三個參數為flag,有下面幾種可能值

FTW_F 一般檔案

FTW_D 目錄

FTW_DNR 不可讀取的目錄,此目錄以下將不被遍歷

FTW_SL 符號連線

FTW_NS 無法取得stat結構數據,有可能是許可權問題

最後一個參數depth代表ftw()在進行遍歷目錄時同時打開的檔案數。ftw()在遍歷時每一層目錄至少需要一個檔案描述詞,如果遍歷時用完了depth所給予的限制數目,整個遍歷將因不斷地關檔案和開檔案操作而顯得緩慢。(實際做測試的時候未發現...)

如果要結束ftw()的遍歷,fn()只需返回一非零值即可,此值同時也會是ftw()的返回值。否則ftw()會試著走完所有的目錄,然後返回0

,全部遍歷則返回0,若有錯誤發生則返回-1

,請使用正常方式(fn函式返回非零值)來中斷遍歷,不要在fn函式中使用longjmp()

相關詞條

熱門詞條

聯絡我們