VC CFineFinder遍历文件夹下的所有文件

void CTrainNumberIdentificationDlg::findFile(CString str)
{
g_log.Log(str+"文件夹识别开始!------------------------------------------------------------\n");
    CString m_cstrFileList="";
    CFileFind tempFind;
    BOOL bFound; //判断是否成功找到文件
    bFound=tempFind.FindFile(str   +   "\\*.*");   //修改" "内内容给限定查找文件类型
    CString strTmp;   //如果找到的是文件夹 存放文件夹路径




RecogOneTrainByQueue recg;
TeObjectSet stObjSet;
IplImage* pSrcImage = NULL;
CString strFileName = "";
BOOL bRetVal = FALSE;
int nMaxCount = 0;
char strTrainNumber[16] = {0};


    while(bFound)      //遍历所有文件
    {
        bFound=tempFind.FindNextFile(); //第一次执行FindNextFile是选择到第一个文件,以后执行为选择
                                                              //到下一个文件
           if(tempFind.IsDots()) continue; //如果找到的是返回上层的目录 则结束本次查找
          
            if(tempFind.IsDirectory())   //找到的是文件夹,则遍历该文件夹下的文件
            {
                strTmp="";
                strTmp=tempFind.GetFilePath();
                findFile(strTmp);
            }
            else
            {
g_num++;
strFileName=tempFind.GetFilePath();
pSrcImage = cvLoadImage(strFileName.GetBuffer(0), CV_LOAD_IMAGE_COLOR);
strFileName.ReleaseBuffer();
if(NULL != pSrcImage)
{
ZeroMemory(&stObjSet,sizeof(TeObjectSet));
tePrediction(pSrcImage, &stObjSet);
cvReleaseImage(&pSrcImage);
pSrcImage = NULL;


stObjSet.iNum = (stObjSet.iNum > 15)?(15):(stObjSet.iNum);
if(stObjSet.iNum >= 5 && stObjSet.iNum <= 15)
{
ZeroMemory(strTrainNumber,sizeof(strTrainNumber));
if(strFileName.Find("big") >= 0)
recg.ReadTrainNumber(strTrainNumber,&stObjSet,2);
else
recg.ReadTrainNumber(strTrainNumber,&stObjSet,2);
pair<CString,CString> temp(strTrainNumber,strFileName);
//m_one_vehicle_all_results.push_back(temp);
}
//m_plogFile->Log("%s------>%s\n",strFileName,strTrainNumber);
}


g_log.Log(tempFind.GetFilePath()+"-----------"+strTrainNumber+"\n");           
            }
    }
    tempFind.Close();
g_log.Log(str+"文件夹识别结束!------------------------------------------------------------\n");


    return;
}
展开阅读全文

没有更多推荐了,返回首页