日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

自动查找并删除VC生成的临时文件

發(fā)布時(shí)間:2025/3/20 c/c++ 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自动查找并删除VC生成的临时文件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)鍵字

臨時(shí)文件 通配符 遞歸 查找文件 文件夾選擇對(duì)話框 INI文件

正文

VC產(chǎn)生的臨時(shí)文件有時(shí)真的很煩人!當(dāng)你編譯一個(gè)程序,突然系統(tǒng)彈出一個(gè)對(duì)話框:“D盤(pán)已經(jīng)沒(méi)有足夠的空間,請(qǐng)問(wèn)需要進(jìn)行磁盤(pán)清理嗎 ”,而它只能清掉了Nkb的東東,你有什么理由不自己寫(xiě)一個(gè)專門(mén)清理VC垃圾的小工具呢?隔一段時(shí)間運(yùn)行一次,徹底清除指定類型的垃圾文件:干干凈凈,中國(guó)人,奇強(qiáng)!

很明顯,這個(gè)程序的核心代碼肯定是一個(gè)有通配符的功能的遞歸查找文件的函數(shù)。我的想法是先查找給定目錄下的所有符合條件的文件,再遞歸查找下級(jí)文件夾 下所有符合條件的文件。為了保證其封閉性,我用了一個(gè) CStringList& 變量來(lái)保存搜索結(jié)果。如果您有好的建議,請(qǐng)給我發(fā)郵件。下面是代碼:

CStringList& CDelTempDlg::SearchFile(CString strFileName, CString strPath, CStringList &listFileName) { char szFullPathName[MAX_PATH]; /*static*/ WIN32_FIND_DATA findData; SetCurrentDirectory(strPath); HANDLE hFindHandle = FindFirstFile(strFileName, &findData); if ((hFindHandle != INVALID_HANDLE_VALUE)) { if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { GetFullPathName(findData.cFileName, MAX_PATH, szFullPathName, NULL); listFileName.AddTail(szFullPathName); } while (FindNextFile(hFindHandle, &findData) != 0) { if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { GetFullPathName(findData.cFileName, MAX_PATH, szFullPathName, NULL); listFileName.AddTail(szFullPathName); } } FindClose(hFindHandle); } hFindHandle = FindFirstFile(\"*\", &findData); if ((hFindHandle != INVALID_HANDLE_VALUE)) { if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (findData.cFileName[0] != \''.\'') { SearchFile(strFileName, findData.cFileName, listFileName); SetCurrentDirectory(\"..\"); } }while (FindNextFile(hFindHandle, &findData) != 0) { if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (findData.cFileName[0] != \''.\'') { SearchFile(strFileName, findData.cFileName, listFileName); SetCurrentDirectory(\"..\"); } } } FindClose(hFindHandle); } return listFileName; }

另外,程序中還用到了 SHBrowseForFolder、SHGetPathFromIDList 兩個(gè)API函數(shù)來(lái)打開(kāi)文件夾選擇的對(duì)話框,GetProvateProfileInt、Get(/Write)PrivateProfileString、WritePrivateProfileSection 等函數(shù)以方便用戶自定義文件類型。因?yàn)槌绦虮容^簡(jiǎn)單,里面的一些錯(cuò)誤信息顯示也就沒(méi)有單獨(dú)抽象出來(lái)。不提倡讀者這樣寫(xiě),呵呵。

轉(zhuǎn)載于:https://www.cnblogs.com/rogee/archive/2011/03/31/2000473.html

總結(jié)

以上是生活随笔為你收集整理的自动查找并删除VC生成的临时文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。