2010-05-27 171 views

回答

3

當您撥打FindFirstFile/FindNextFile時,它返回的一些「文件」實際上是目錄。 您可以通過查看返回給您的WIN32_FIND_DATA結構的dwFileAttributes字段來檢查某個目錄是否爲目錄。

如果您發現某個目錄是一個目錄,那麼您可以簡單地調用您的文件查找函數以便進入子文件夾。

注意:請務必把在爲...僞目錄中一個特殊的情況,否則你的函數將遞歸到本身,你會得到一個堆棧溢出

這裏的文件,如果你還沒有已經發現:

FindFirstFile

WIN32_FIND_DATA

possible values for dwFileAttributes(記住,這些都是位標誌,因此您必須使用&進行檢查)

+0

Thanks dude .. It works。It works。 :d – ganuke 2010-05-27 12:26:01

2

或者,您可以使用boost::filesystem這不僅會給你一個乾淨的API,而且還會使你的代碼在所有支持的平臺上都可移植。

0

我已經使用此代碼讀取指定目錄中的文件。

CFileFind finder; 

BOOL bWorking = finder.FindFile(directory); 

while(bWorking) 
{ 
    bWorking = finder.FindNextFile();     
}//end while 
相關問題