我想得到某个文件夹下的几种文件类型比如:abc文件夹下有*.txt,*.mp3,*.jpeg,*.rm
等几种类型的文件我只想得到*.txt,*.jpeg类型的文件,请问应该怎么实现?

解决方案 »

  1.   

    CFileDialog dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_LONGNAMES|OFN_PATHMUSTEXIST,"file(*.text;*.jpeg)|*.txt;*.jpg|all files(*.*)|*.*||",this);
    if(dlg.DoModal()!=IDOK) return;
      

  2.   


    我帮楼主补充一下:如何得到一个文件夹(如:e:\abc)中所有*.txt,*.jpeg类型的文件列表?然后把它们放到各自的列表框中(或者数组中),对不对?
      

  3.   


    使用MFC中的 CFileFind 类,获取文件列表比较灵活:
       CFileFind finder;
       BOOL bWorking = finder.FindFile("*.txt");
       while (bWorking)
       {
          bWorking = finder.FindNextFile();
          cout << (LPCTSTR) finder.GetFileName() << endl;
       }
      

  4.   


       CFileFind finder;
       BOOL bWorking = finder.FindFile("e:\\abc\\*.txt");
       while (bWorking)
       {
          bWorking = finder.FindNextFile();
          cout << (LPCTSTR) finder.GetFileName() << endl;
       }
      

  5.   

       CFileFind finder; CString sname, sext;
    BOOL bWorking = finder.FindFile("e:\\abc\\*.*");while (bWorking)
       {
          bWorking = finder.FindNextFile();
          sname = finder.GetFileName();
    sext = sname.Right(4);
    if(sext == _T(".txt"))
    {
    // 将sname  加入列表
    }
    if(sext == _T(".jpeg"))
    {
    // 将sname  加入列表
    }
       }