C++實現刪除某個資料夾的檔案
阿新 • • 發佈:2019-02-09
最近做專案的時候,希望程式在執行前,刪除某個資料夾的快取檔案。手動刪除太麻煩,希望用指令碼實現,於是寫了下面的程式碼.
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”。