QDir類來實現目錄的遍歷

2021-10-06 16:59:19 字數 530 閱讀 7730

在這裡簡單說下幾個類似的方法的區別:

1.entryinfolist()與entrylist(),第乙個函式會返回此檔案加下所有檔案及目錄的完整資訊,包括使用者組,大小,訪問時間,許可權等等所有與檔案有關的資訊。而第二個方法只是返回此目錄下的所有檔案及目錄的名字。

2.absolutefilepath()與absolutepath(),第乙個方法返回帶本檔名的路徑資訊,absolutepath返回不帶本檔名的路徑資訊。

3.qfileinfo類的物件中filename 和 basename的區別是filename會得到完整檔名,包括字尾,但是basename返回到.之前的檔名,比如檔名為a.tar.gz 返回a 

當使用此類來遍歷某個目錄中所有目錄和檔案時,要注意,在各種檔案系統中通常還會包含當前目錄和上層目錄,所以,要注意在遍歷的時候要把這兩個目錄過濾掉,否則會出現死迴圈。

void chakan(qstring path)else

}}

如上在目錄的時候要過濾掉兩個目錄,就可以實現目錄的遍歷。

QDir 目錄操作 建立,遍歷目錄裡面內容

qt中的目錄分隔符統一使用 qdir 能夠對目錄進行任意操作 建立,刪除,重新命名 qdir能夠獲取指定目錄中的所有條目 檔案和資料夾 qdir能夠使用過濾字串獲取指定條目 qdir能夠獲取系統中的所有根目錄 示例如下 void test dir if dir.exists path 目錄存在遍歷目...

linux用c語言來遍歷目錄

做遍歷目錄需要的函式有 dir opendir const char name struct dirent readdir dir dir closedir const char name 其中 readdir 返回引數dir目錄流的下個目錄進入點。結構dirent定義如下 struct diren...

遍歷目錄的非遞迴實現

在遞迴計算目錄數目,檔案數目,目錄大小等功能中,我們常用的方式是使用遞迴來實現。但是,遞迴實現因為會不斷向呼叫堆疊中存入資料 包括當前執行的狀態變數等資料 實際上會大量占用記憶體空間,同時執行時間也會受到影響。我們通過乙個儲存目錄路徑的佇列,可以很優雅地實現非遞迴的目錄遍歷,下面我們通過遞迴統計目錄...