文章**網路 屬於vc分類 電腦程式設計網整理 2009116
常用檔案函式:
if(finder.isdirectory() && !finder.isdots()) //如果是目錄
{}isdirectory()判斷是否目錄
isdots()) 判斷是否為.或..
在dos中說明每個目錄下都有預設的兩個目錄分別為"."和".."分別表示上一層目錄和本層目錄.
因此當我們遍歷目錄樹下的檔案時要過濾掉這兩個預設目錄。
每個資料夾都有下面兩個特殊子資料夾:
(1) .
表示本資料夾自己
(2) ..
表示本資料夾的父資料夾
顯然,在資料夾遍歷的時候,這兩個子資料夾需要特殊處理,否則將陷入死迴圈。
isdots()
就是判斷是不是這兩個資料夾的乙個.
msdn幫助解釋:
virtual bool isdots( ) const;
return value
nonzero if the found file has the name "." or "..", which indicates that the found file is actually a diretory. otherwise 0.
第一種方法: 定義乙個檔案類物件來操作
cfile tempfile;
tempfile.remove(指定檔名);
第二種方法: 使用系統函式 deletefile( lpcstr filename )刪除檔案 _rmdir(),刪除目錄 deletedirectory(stempdir); 刪除目錄 removedirectory(stempdir);刪除目錄
void getdirfiles(lpcstr lszdirpath, cstringarray &ar)
ar.add(finder.getfilepath());}}
for (int i = 0; i < delfiles.getsize(); ++i)
removedirectory(delparentpath);
這裡只寫了函式的一小部分。準確的說,是沒有乙個標準api或者mfc函式來刪除乙個非空資料夾的(除了《vc完全刪除資料夾i》裡面用的shell方法,不過此方法有弊端,在文末也提到),刪除非空資料夾的函式只能是自己寫。
函式實現思想:
主要是先對應記錄要刪除的資料夾內部,所有資料夾和資料夾內的檔案。比如我要刪除a資料夾,那麼a資料夾內如果有b、c檔案 夾,b資料夾內有1、2、d兩個檔案和乙個資料夾,c資料夾內有3、4、5三個檔案。採用深度遍歷的思想,這樣來記:如果d資料夾沒有檔案,就刪除d檔案 夾。然後刪除b資料夾內的1、2檔案,再刪除b資料夾。如此下去。
刪除非空目錄 function如下:
void deletedir(cstring strdeldir)
}ff.close();
removedirectory(strdeldir);
}
VC中徹底刪除類或資源
方法一 應該是先在windows裡面刪除.h和.cpp檔案,然後開啟專案,ctrl w開啟class wizard,選這個dialog類,然後提示找不到了,選remove,然後到file view列表裡面選這兩個檔案,按delete刪除,這樣才徹底,否則.clw檔案內會保留資訊的 方法二 在你的工程...
vc 檔案目錄的刪除
專案中突然要使用刪除檔案的功能,於是看看書,網上找找資料,總結了一些方法,其實都很簡單的。希望對大家有幫助 第一種方法 定義乙個檔案類物件來操作 cfile tempfile tempfile.remove 指定檔名 第二種方法 使用系統函式 deletefile lpcstr filename 刪...
VC6 0中如何徹底刪除類檔案
很多人為vc6.0中如何徹底刪除類檔案苦惱,有時原始檔刪除了,包含的標頭檔案也在其他類中刪除了,但是在類檢視中還是存在,很讓人鬱悶。下面告訴大家乙個徹底刪除類檔案的方法,首先 再專案中將所有涉及涉及到要刪除的類得物件和標頭檔案的引用刪除 然後 再工作目錄下將要刪除的類得標頭檔案 h 和對應的資源檔案...