首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

c++ builder查找文夹上面的文件夹上面的所有文件

2013-01-06 
c++ builder查找文夹下面的文件夹下面的所有文件A文件夹下面有很多 文件夹如 B 、C等等这些文件夹下面又有1

c++ builder查找文夹下面的文件夹下面的所有文件
A文件夹下面有很多 文件夹如 B 、C等等  这些文件夹下面又有1。MP4 2。MP4等等文件
我怎么查找  1。MP4 2。MP4 我怎么查找出 MP4文件  
            AnsiString m_sLocalRecFile = "D:\\A\\*\\*.mp4";
    WIN32_FIND_DATA FLocalRec;
    HANDLE HLocalRec=::FindFirstFile(m_sLocalRecFile.c_str(),&FLocalRec); 
[解决办法]

void __fastcall CrnFindFile(String strDir, String strFileExt, TStrings *pList)
{
    WIN32_FIND_DATA wfd;
    String strFileName;

    if (strDir.LastDelimiter("\") != strDir.Length())
        strDir += "\";

    HANDLE hFind = ::FindFirstFile((strDir + "*.*").c_str(), &wfd);

    if (INVALID_HANDLE_VALUE != hFind)
    {
        do
        {
            strFileName = String(wfd.cFileName);
            if (strFileName == "." 
[解决办法]
 strFileName == "..")
                continue;

            // 如果是子目录就进入子目录搜索
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
                CrnFindFile(strDir + strFileName + "\", strFileExt, pList);

            // 将指定扩展名的文件名加入到列表中
            if (ExtractFileExt(strFileName).UpperCase() == strFileExt)
                pList->Add(strDir + strFileName);

        } while(::FindNextFile(hFind, &wfd));
    }
    ::FindClose(hFind);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    CrnFindFile("D:\\ccrun\", ".MP4", Memo1->Lines);
}

热点排行