Qt 遍歷資料夾的三種方式

2021-10-06 21:39:38 字數 976 閱讀 7253

github dome

今天的心態被搞崩潰了,在多年的程式設計經驗裡。普遍的經驗認為在遍歷資料夾這件事情上,肯定是佇列優於遞迴的。但在qt 由於有一些庫函式,我發現使用遞迴的速度盡然比佇列還快,而且佇列的遍歷還特別的慢,估計是我寫的佇列遍歷那個地方又問題,請大神指導一下,這是為什麼呢?我乙個qt初學者真心想把這個問題搞清楚。因為之前在公司電腦測試的時候,發現佇列確實別遞迴快,但是回家用自己的筆記本測試的時候發現,在檔案特別多的時候,佇列的**耗時特別長!!

遞迴

//遞迴實現檔案的遍歷

void tfilethread::getfiles(const qstring& path)

}

佇列
//佇列實現檔案的遍歷

void tfilethread::queuegetfiles(const qstring& path) else{

m_filelist甚至還使用了迭代器,發現更慢…

void tfilethread::iteratorgetfile(const qstring& path)

{ qdiriterator dir_iterator(path,

qdir::files | qdir::nosymlinks,

qdiriterator::subdirectories);

while(dir_iterator.hasnext())

{dir_iterator.next();

qfileinfo file_info =dir_iterator.fileinfo();

//qstring absolute_file_path =file_info.absolutefilepath();

m_filelist執行結果圖

Qt遍歷資料夾

關於qt操作資料夾 檔案的知識用途較多,比如遍歷下一層乃至所有子孫檔案 資料夾,獲取它們的一些資訊 大小 型別 最後更改時間等 當然,也可以進行級聯刪除。首先看簡單的 一 qt遍歷資料夾下一層的檔案 方式1 void imagetree addfolderimages qstring path di...

QT 遍歷資料夾

qstring dir path e checked qdir dir dir path qfileinfolist fileinfolist dir.entryinfolist qdir files 設定過濾器 qdir files 得到該目錄下所有檔案 qdir dirs 得到該目錄下所有子資料...

三種遍歷資料夾方法比較 PERL

一般黑客都常用遍歷方法來進行插入掛馬 等。三種遍歷資料夾方法比較 本貼對三種遍歷資料夾方法比較。1.使用file find 2.遞迴遍歷。遍歷函式為lsr 3.使用佇列或棧遍歷。遍歷函式為lsr s 1.use file find usr bin perl w file find.pl author...