關於Qt在Linux下目錄遍歷的問題

2021-10-12 20:07:58 字數 595 閱讀 9102

今天在linux下用qt遍歷目錄,發現了個問題。(鄙人windows屌絲)

qdir dir

(path)

;qfileinfolist flst = dir.

entryinfolist()

;int cnt = flst.

count()

;

到這邊時候,列印出來發現,目錄是空的,但是cnt卻是2。接著我試著列印出檔名。

for

(int i =

0; i < cnt; i++

)//輸出是.和..

這邊輸出是點和點點。突然想起老師的教誨。用ls -a輸出了下,差點忘記每個目錄都有這兩個隱藏的玩意兒,代表了上級和當前。

qt也很溫馨,在filter方面已經提供了這倆個目錄的過濾。在遍歷前設定好過濾項就行了。

dir.

setfilter

(qdir::dirs | qdir::nodotanddotdot)

;

之後再遍歷就只有你需要的目錄了。

希望能幫助到需要的人(❁´◡`❁)✲゚

linux下遍歷目錄和檔案

目錄操作相關函式 1 opendir 開啟目錄 dir opendir const char name 引數 要開啟的目錄名 返回值 指向目錄的指標 這裡的dir型別可以int dirfd dir dirp 函式轉變為描述符 fd 2 讀目錄 readdir struct dirent readdi...

Qt 遞迴方式遍歷目錄

基本思想 1.指定乙個目錄 2.找到當前目錄下的檔案 不包括資料夾,qdir可以進行篩選 存入qfileinfolist,然後按順序存入qtreewidgetitem,並新增至根節點 3.找到當前目錄下的第乙個資料夾,作為乙個新的根節點 4.重複2,3過程,直到沒有新的資料夾 至此遞迴過程完畢。qf...

Linux下目錄遍歷 結構體dirent

在linux下遍歷某一目錄下內容linux下歷遍目錄的方法一般是這樣的 開啟目錄 讀取 關閉目錄 相關函式是opendir readdir closedir,其原型如下 include dir opendir const char dirname struct dirent readdir dir ...