C++ 遍历指定文件夹~相应操作
来源:互联网 发布:单片机gnd是什么意思 编辑:程序博客网 时间:2024/06/10 22:17
在平时开发中,时常需要遍历指定文件夹目录下的所有文件,在这里总结一下代码。
下面这段代码就是递归遍历指定目录,把遍历出来文件信息保存到vector向量里面:
bool FileTra(CString &strDir,vector<CString> &file){if (strDir.IsEmpty())//如果目录是空的,就退出当前遍历{return false;}CFileFind filefind;bool bFound = filefind.FindFile(strDir + _T("\\*"), 0);while (bFound){bFound = filefind.FindNextFile();if (filefind.GetFileName() =="."|| filefind.GetFileName() =="..")//跳过隐藏文件continue;SetFileAttributes(filefind.GetFilePath(), FILE_ATTRIBUTE_NORMAL);if (filefind.IsDirectory()){FileTra(filefind.GetFilePath(),file);}else{/*获取文件的各种信息*///CString m_strFileAbsolutePath;//tempFile.m_strFileAbsolutePath=filefind.GetFilePath();//获取文件绝对路径CString m_strFileName;tempFile.m_strFileName=filefind.GetFileName();//获取文件名file.push_back(m_strFileName);}}}除了获取信息,也可以做别的操作,如递归遍历删除指定文件夹,这个也是比较常用的,代码如下:
//遍历删除指定目录下所有文件夹以及文件void DeleteDirectory(CString strDir){if(strDir.IsEmpty()) { RemoveDirectory(strDir); return; } //首先删除文件及子文件夹 CFileFind ff; BOOL bFound = ff.FindFile(strDir+ _T("\\*"),0); while(bFound) { bFound = ff.FindNextFile(); if(ff.GetFileName()== _T(".")||ff.GetFileName()== _T("..")) continue; //去掉文件(夹)只读等属性 SetFileAttributes(ff.GetFilePath(),FILE_ATTRIBUTE_NORMAL); if(ff.IsDirectory()) { //递归删除子文件夹 DeleteDirectory(ff.GetFilePath()); RemoveDirectory(ff.GetFilePath()); } else { DeleteFile(ff.GetFilePath()); //删除文件 } } ff.Close(); //如果有需要连这个文件夹都删除,可以把这一句注释去掉 //RemoveDirectory(strDir); }总体流程还是没什么变化的,主要就是遍历指定目录,然后做相应操作即可。
0 0
- C++ 遍历指定文件夹~相应操作
- 递归:遍历指定文件夹
- MFC 遍历指定文件夹
- 遍历指定文件夹,逐个打开每一个excel文件,进行操作
- Java实现遍历指定文件夹
- php遍历一个指定文件夹
- Python 遍历指定目录文件夹
- 非递归遍历指定文件夹
- 遍历指定文件夹中的Excel
- asp遍历服务器端指定文件夹
- 指定文件夹下子文件夹遍历的工具
- C/C++中关于遍历文件夹的操作
- C/C++中关于遍历文件夹的操作
- c遍历文件夹
- C/C++遍历文件夹
- c 遍历文件夹
- C/C++ 遍历文件夹
- C#--遍历文件夹实例
- java 图形界面
- windows下OpenCV的编译与配置过程(Qt)
- 矢量图标字体自定义li编号样式
- PHP和Html中绝对路径和相对路径的问题
- sqlserver中 REPLACE的用法
- C++ 遍历指定文件夹~相应操作
- svn提交报错
- zk + marathon 完美结合
- 并发,two
- Java之重写
- 选择微信号码开通检测应该要注意什么?
- getopt(分析命令行参数)
- jQuery的选择器(三)
- 调用一些表单验证函数主要用到blur()