deletefile(); //這是刪除檔案的win32 api
removefile(); //這是刪除空目錄的win32 api(注意,如果目錄不為空的話,這個函式將執行失敗)
如果目錄不為空的話,我知道的有兩種方法刪除:
1.呼叫命令列
system("rmdir /s /q dirname"); //dirname是要刪除的目錄名稱,這種方式,在使用mfc程式的時候出閃過乙個cmd的視窗
/s是級聯刪除 /q 是不提示(在命令列下操作的話,如果不加這個開關,會有提示確認是否刪除目錄,而在程式中不允許停下)
2.使用win32 api
//刪除當前目錄下的tempdir目錄(子目錄也將一併刪除)
shfileopstruct fileop;
fileop.fflags = fof_noconfirmation;
fileop.hwnd = null;
fileop.lpszprogresstitle = null;
fileop.pfrom = ".\\tempdir";
fileop.pto = null;
fileop.wfunc = fo_delete;
shfileoperation(&fileop);
此處有乙個地方要留心一下,就是fileop.pfrom這個引數,它使用的字串一定是要'\0'結尾的,這個地方使用".\\tempdir",這個字串預設的結束字元就是'\0',所以如果存在這個目錄或者檔案的話,一定可以將其刪除,如果像下面這樣寫的話就會出錯:
std::string delpath = ".\\tempdir";
...
fileop.pfrom = delpath.c_str(); // 此時字串沒有以'\0'結尾,所以刪除的時候會出錯
Win32 刪除非空目錄
deletefile 這是刪除檔案的win32 api removefile 這是刪除空目錄的win32 api 注意,如果目錄不為空的話,這個函式將執行失敗 如果目錄不為空的話,我知道的有兩種方法刪除 1.呼叫命令列 system rmdir s q dirname dirname是要刪除的目錄名...
linux下 rm 刪除非空目錄
rm命令 在linux中建立檔案很容易,系統中隨時會有檔案變得過時且毫無用處。使用者可以用rm命令將其刪除。該命令的功能為刪除乙個目錄中的乙個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除。對於鏈結檔案,只是刪除了鏈結,原有檔案均保持不變。rm命令的一般形式為 rm 選項 檔案 ...
C 呼叫API函式刪除非空目錄
include include include using namespace std bool deletedirectory lpctstr strdes while bfinished else bfinished findnextfile hsearch,filedata false tru...