C、 C++遍历文件夹,删除文件夹
来源:互联网 发布:redis mysql 性能对比 编辑:程序博客网 时间:2024/06/05 10:32
1,使用SHFileOperation删除文件夹,
bool CTools:: DelFilesOfDir(string strDir){ int iRet = ACCESS(strDir.c_str(),0); if (iRet != 0) { return false; } SHFILEOPSTRUCT shFileOp; TCHAR strCurrentPath[MAX_PATH] = {0}; char szTemp[MAX_PATH] = {0}; string strTmp; memset(&shFileOp,0,sizeof(shFileOp)); GetCurrentDirectory(MAX_PATH/2, strCurrentPath); CTools::TCharToChar(szTemp,strCurrentPath); strTmp = string(szTemp)+'\\'+strDir; memset(strCurrentPath,0,sizeof(strCurrentPath)); CTools::CharToTChar(strCurrentPath,strTmp.c_str()); shFileOp.wFunc = FO_DELETE; shFileOp.pFrom = strCurrentPath; shFileOp.pTo = NULL; shFileOp.fFlags = FOF_SILENT | FOF_NOCONFIRMATION; SHFileOperation(&shFileOp); return true;}这个方法是mfc工程中删除,应该说还是很好用的,这个函数实现的功能也很多,删除只是其中之一,其他功能和相关属性可以搜下,资料很多,但是我在用的时候遇到一个问题一直没解决,debug下没删掉,但是release下却成功了,找了半天发现是属性的路径赋值有问题,直接用“”字符串就可以但是用赋值就一直有问题,没找到解决方案。
2,使用FindFirstFile和FindNextFile遍历文件夹这个网上的例子很多,这就不写了。
3,因为之前有用到在控制台程序中删除非空文件夹,使用_findfirstfile和_findnextfile、_fileclose结合的方法,和第二个类似
void CFileTest::ReadDir(const string& strDirPath){string strPathTmp = strDirPath + "\\*.*";long lFile;string sAddPath;struct _finddata_t sDate;lFile = _findfirst(strPathTmp.c_str(), &sDate);if (lFile == -1){printf("read file fail!\n");return ;}printf("文件: %s\\%s\n", strDirPath.c_str(), sDate.name);while (_findnext(lFile, &sDate) == 0){if(sDate.attrib == _A_SUBDIR){sAddPath = strDirPath;sAddPath += "\\";sAddPath += sDate.name;if (string(sDate.name)=="." || string(sDate.name)==".."){continue;}ReadDir(sAddPath);}else{// 删除文件string strFile = strDirPath + "\\" + string(sDate.name);printf("删除文件: %s\n", strFile.c_str());remove(strFile.c_str());}}_findclose(lFile);// 删除文件夹rmdir(strDirPath.c_str());printf("删除目录: %s\n",sAddPath.c_str());}这里只给个测试用的循环函数直接传入要删除的文件夹路径就可以编译环境是vs2008。
0 0
- C、 C++遍历文件夹,删除文件夹
- c遍历文件夹
- C/C++遍历文件夹
- c 遍历文件夹
- C/C++ 遍历文件夹
- C#--遍历文件夹实例
- C/C++遍历文件夹
- c/c++遍历文件夹
- Linux C 删除文件夹
- linux下C遍历文件夹
- C语言实现遍历文件夹
- C遍历文件夹下文件
- 如何c语言遍历文件夹
- Linux C 文件夹遍历接口.
- Linux C语言遍历文件夹
- C、C++文件夹文件遍历
- VC遍历文件夹,删除文件夹
- 【C#】创建文件夹,删除文件夹,创建文件,删除文件
- 使用图形界面描述矩形
- dynamic_cast
- Opencv摄像机的标定
- 关于card视图
- shared memory realm does not exist
- C、 C++遍历文件夹,删除文件夹
- ios----全面的文件管理操作讲解
- Codeforces Round #250 (Div. 2)——The Child and Set
- 获取本地设备IP地址
- linux shell学习
- IOS中NSNotification使用笔记
- 直接初始化与复制初始化的区别
- UIView转UIImage
- Asp.net C# Json 数据的读取方式