c 刪除資料夾

2021-08-28 15:33:59 字數 768 閱讀 9270

在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 使用他可以...