c++ 文件及文件夹操作(三)
来源:互联网 发布:淘宝做什么产品赚钱 编辑:程序博客网 时间:2024/05/18 02:57
一、 获得文件夹下的所有文件路径
void GetAllPath(const string& sSrcPath, vector<string>& vtPath){struct _finddata_t fileinfo;long lHandle = -1;int iFind = 0;string sFile = sSrcPath + "\\*.*";lHandle = _findfirst(sFile.c_str(), &fileinfo);if (lHandle != -1){iFind = _findnext(lHandle, &fileinfo);while (!iFind){if (fileinfo.name[0]!='.'&& (fileinfo.attrib&_A_SUBDIR)){string sTemp;sTemp = sSrcPath + "\\" + fileinfo.name;GetAllPath(sTemp, vtPath);}iFind = _findnext(lHandle, &fileinfo);}vtPath.push_back(sSrcPath);}_findclose(lHandle);}
BOOL DeleteFileExByFileExt(const char * pszPath, const char * pszExt){char szFind[MAX_PATH];WIN32_FIND_DATA FindFileData;strcpy(szFind,pszPath);strcat(szFind,"\\*.*");HANDLE hFind=::FindFirstFile(szFind,&FindFileData);if(INVALID_HANDLE_VALUE == hFind) return false;int nkey=0;while(TRUE){if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){if(FindFileData.cFileName[0]!='.'){strcpy(szFind,pszPath);strcat(szFind,"\\");strcat(szFind,FindFileData.cFileName);DeleteFileByFileExt(szFind,pszExt);}}else{string strFile = FindFileData.cFileName;if (strFile.find(pszExt) != -1){strcpy(szFind,pszPath);strcat(szFind,"\\");strcat(szFind,FindFileData.cFileName);DeleteFile(szFind);}}if(!FindNextFile(hFind,&FindFileData)) break;}FindClose(hFind);return true;}
三、 删除文件夹下所有文件
BOOL RemoveAllFile(CString strPath){CFileFind ff;BOOL bFind = ff.FindFile(strPath+"\\*.*");while(bFind){bFind = ff.FindNextFile();if(ff.IsDots()) continue;if(ff.IsDirectory()){RemoveAllFile(ff.GetFilePath());RemoveDirectory(ff.GetFilePath());}else{CFile::Remove(ff.GetFilePath());}}RemoveDirectory(strPath);return TRUE;}
0 0
- c++ 文件及文件夹操作(三)
- C# 文件操作(文件夹 及 文件)
- C# 文件操作(文件夹 及 文件) .
- 文件及文件夹操作
- c++文件及文件夹操作(一)
- C++ 文件及文件夹操作(二)
- C# 操作文件夹及文件
- C# 操作文件夹及文件
- C# 操作文件夹及文件
- C# 操作文件夹及文件
- Js 操作文件及文件夹
- Javascript文件及文件夹操作
- Installshield 文件及文件夹操作
- MATLAB 文件及文件夹操作
- shfile...文件及文件夹操作
- python-文件及文件夹操作
- PHP操作文件及文件夹
- python文件及文件夹操作
- Android 内存泄漏
- 警校妹子的别样青春
- Spark1.6.0 源码编译和部署包生成
- C程序中的段错误跟踪
- 把自己的功能某块,嵌入到其他PHP项目当中
- c++ 文件及文件夹操作(三)
- boost::smart_ptr之智能指针
- Web开发基础Tomcat的配置以及http协议概述
- 【LeetCode】066.Plus One
- iOS之一路问题
- Lucene实践:全文检索的基本原理
- 转载好文章【当推荐算法开源包多如牛毛,为什么我们还要专门的推荐算法工程师】
- 怎样在Ubuntun12.04上编译GCC
- iOS开发UI篇—自定义瀑布流控件(接口设计)