今天做项目需要对文件夹下某一后缀名的文件做加密,所以需要筛选出符合的文件
比如.txt ,这里用到了MFC的CFileFind类
// 遍历给定目录下所有子目录,查找*.txt,放入CStringArray中
void CTestMADlg::getFolderDayFile(CString pathStr, CStringArray& arrStrFile)
{
CString myDataPath,fdPath; //设置路径变量
myDataPath=pathStr + "\\*.*"; //文件夹路径
CString strTmp; //后缀名变量
CFileFind find; //例化CFileFind
BOOL bf = find.FindFile(myDataPath); //
while(bf)
{
bf = find.FindNextFile();
if(!find.IsDots())
{
fdPath=find.GetFilePath();
if (find.IsDirectory())
{
//如果是文件夹,递归,继续往下找
getFolderDayFile(fdPath, arrStrFile);
}
else
{
//如果是文件,判断是否是*.txt
strTmp=fdPath.Right(4); //取后缀名
strTmp.MakeLower(); //字符串小写化
if ( strTmp==".txt" )
arrStrFile.Add(fdPath);
}
}
}
find.Close();
通过这个样取文件名符合就可以进行相应的加密操作。