C 遍歷資料夾及其子檔案(夾)

2021-06-01 21:50:58 字數 849 閱讀 7981

c++ 遍歷資料夾及其子檔案(夾)

**如下

int _finder(lpctstr pstr)

//一般檔案及資料夾

printf("%d   %s/n " , ++i ,  finder.getfilename()) ;

bool bisdir = finder.isdirectory() ;

if( bisdir )

else

}//end while

finder.close() ;

return 1 ;

}有以下以點可能大家不明白之處,

isdots是作什麼用的?

isdots是判斷當前的檔案是否是.或者..檔案,windows下的每個資料夾下都有這兩個檔案的,..表示上級目錄,.表示當前目錄,桌面windows是看不到的, 下面的方法可以看到.和.. ,進入命令列,輸入dir ,就會顯示當前資料夾下的所有目錄,同時你也會發現.及.. ,程式執行時必須去除這兩個,防止endless loop

你可能會碰到少讀乙個檔案,我一開始就犯了這樣的錯誤,還以為是ms的乙個bug裡,原來是我的bug~

你的findnextifle肯定沒有按號入坐

可能是while( finder.filenextfile() )這樣寫的,你就漏了第乙個檔案,不信試試看~

還有大家寫遍歷時發現少了最後乙個檔案,

我猜你可能是這樣寫的

bworking = finder.findnextfile() ;

while(bworking)

這樣就少了最後乙個檔案!

少了檔案那是logic問題~好搞定~

遍歷檔案裡有固定順序的,看參照正文

over了

c 遍歷資料夾深度 C 遍歷資料夾獲取資料夾大小

c 遍歷資料夾獲取資料夾大小 都需要引入system.io這個命名空間 第一種方法 public static long getdirectorylength string dirpath 判斷給定的路徑是否存在,如果不存在則退出 if directory.exists dirpath return...

C 遍歷資料夾

下面是一段用於遍歷資料夾內的指定型別檔案的程式 c 遍歷資料夾 author www.icvpr.com blog include include include using namespace std int main int argc,char argv 2.迴圈查詢 do sprintf fi...

c 遍歷資料夾

link 編寫程式遍歷資料夾及其子資料夾下所有檔案,並輸出到標準輸出流或者檔案流。1.先考慮在單層目錄下,遍歷所有檔案。以c windows為例 用到資料結構 finddata t,檔案資訊結構體的指標。c struct finddata t 檔案屬性是無符號整數,取值為相應的巨集 a arch 存...