在c++中,當資料夾並不為空時,刪除資料夾並沒有現成的api,而是需要自己來實現這一功能,這裡提供了2種辦法,一種使用cfilefind,另一種是用shfileoperation。
1.shfileoperation
shfileopstruct fileop;
zeromemory((void*)&fileop,sizeof(shfileopstruct));
fileop.fflags = fof_silent|fof_noconfirmation;
fileop.hwnd = null;
fileop.lpszprogresstitle = null;
fileop.pfrom = lpszpath;
fileop.pto = null;
fileop.wfunc = fo_delete;
shfileoperation(&fileop);
如果加了fof_silent標誌,那麼在函式呼叫的時候,即使出錯,也不會彈框提示,但是,今天發現,如果這個目錄是共享的,依然還是會彈框提示。不知道是不是乙個bug呢?
2.cfilefind
bool deletedirectory(char* strdirname)
else}}
tempfind.close();
if(!removedirectory(strdirname))
return true;
}這個主要通過遞迴的方法,搜尋*.*,依次刪除檔案,直到目錄為空,刪除目錄,其中排除.和..資料夾。
c 刪除資料夾
c 語言本身是不能刪除檔案或資料夾的,他們是windows作業系統裡的東西,所以得借助其api函式。其一 使用shell 介面 void filedelete cstring directory 使用該函式你得 include pragma comment lib,shlwapi.lib 使用他可以...
C 刪除資料夾
這裡說三種 1這是最簡單的方法 directoryinfo di new directoryinfo string path di.delete true 注 path是你要刪除的非空目錄 true 你要刪除裡面所有的檔案,包括資料夾和子資料夾 2 刪除非空資料夾 要刪除的資料夾目錄 void de...
c 刪除資料夾
c 語言本身是不能刪除檔案或資料夾的,他們是windows作業系統裡的東西,所以得借助其api函式。其一 使用shell 介面 void filedelete cstring directory 使用該函式你得 include pragma comment lib,shlwapi.lib 使用他可以...