今天做项目需要对文件夹下某一后缀名的文件做加密,所以需要筛选出符合的文件

比如.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();

通过这个样取文件名符合就可以进行相应的加密操作。





Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐