请问如何用vc实现查找给定路径及其子路径下的文件数呢?

解决方案 »

  1.   

    FindFirstFile,do-while循环FindNextFile,失败时结束循环,遇到.和..跳过,遇到具有FILE_ATTRIBUTE_DIRECTORY属性的递归。
      

  2.   

    int CountFileNum(CString fileName)
    {
        CFileFind ff;
        BOOL r;

        if(fileName.Right(1)=="\\")
            fileName.SetAt(fileName.GetLength()-1, 0);

        r = ff.FindFile(fileName);

    int Num = 0;    while(r)
        {   
            r = ff.FindNextFile();
            if(!ff.IsDots())
            {
                if(ff.IsDirectory())
                {
                    Num += CountFileNum(ff.GetFilePath()+"\\*.*");
                }
                else
                {
    Num ++;
                }
            }
        }    return Num;
    }