1. 程式人生 > >C++實現刪除某個資料夾的檔案

C++實現刪除某個資料夾的檔案

最近做專案的時候,希望程式在執行前,刪除某個資料夾的快取檔案。手動刪除太麻煩,希望用指令碼實現,於是寫了下面的程式碼.


int DeleteAllFile(char *to_search) {
    long handle;                                                    //用於查詢的控制代碼;
    struct _finddata_t fileinfo;                                    //儲存檔案資訊的結構體;
    handle = _findfirst(to_search, &fileinfo);                    //第一次查詢;
if (handle == -1) { return -1; } //沒有找到就返回-1; printf("%s\n", fileinfo.name); //列印找到的檔案的檔名; while (!_findnext(handle, &fileinfo)) { string filePath = ".\\store\\" + string
(fileinfo.name); cout << filePath << endl; printf("DELETE: %s\n", filePath.c_str()); DeleteFileA(filePath.c_str()); //DeleteFileA的引數是char* } _findclose(handle); return 0; }

呼叫的方法是DeleteAllFile(“.\store\*.*”);
這裡用的當前目錄下的相對路徑,查詢的是store資料夾中所有型別的檔案。
如果要查詢某一型別的檔案,比如txt,只需要把引數改為“.\store\*.txt”。