MFC читать все файлы в одном файле / имя директории / файла-каталога

1. Прочитайте один путь к файлу

1  Invalidate ();
2  
3      CFileDialog DLG (TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_READONLY,
 4          TEXT ( " Поддерживаемые типы (* .jpg;.. * Детские; * GIF; * ВМР;. ...) | * .jpg; * . .png, * GIF, * . BMP | Tiff (.. * размолвка; * TIF) | * .tiff, * . TIF | Все файлы (*. *) | * ||. " ), NULL);
5      dlg.m_ofn.nFilterIndex = 1 ;
6      dlg.m_ofn.hwndOwner = m_hWnd;
7      dlg.m_ofn.lStructSize = SizeOf (OPENFILENAME);
8      dlg.m_ofn.lpstrTitle = TEXT ( " Открытие изображения ... \ 0 " );
9     = Dlg.m_ofn.nMaxFile MAX_PATH;
 10      ПЧ (dlg.DoModal () == IDOK)
 . 11      {
 12          m_Path = dlg.GetPathName ();
 13          m_isOpen = TRUE;
 14          UpdateData (FALSE);
 15      }
 16      остальное 
. 17          возврата ;
 18      // фото слева управляет отображением изображения 
19      обугленного * S_PATH;
 20      USES_CONVERSION;
 21      S_PATH = T2A (m_path);

 

2. прочитать несколько имя файла

1     вектор <CString> fileDict; 
     CFileDialog DLG (TRUE, _T ( " * " ), NULL, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST, _T ( " Файл所有文件(*) | * ||.. " ), NULL); 2 типа DWORD MAXFILE = 500 * MAX_PATH; // 最多打开500个文件 3 dlg.m_ofn.nMaxFile = MAXFILE; 4 TCHAR * ЬиЕ = новый TCHAR [MAXFILE]; 5 MemSet (BUF, 0 , SizeOf (TCHAR) * MAXFILE); 6 dlg.m_ofn.lpstrFile = ЬиЕ; 7 8 INTiReturn = dlg.DoModal (); 9 , если (iReturn == IDCANCEL) 10 { 11 возврата ; 12 } 13 ПОЛОЖЕНИЕ поз = dlg.GetStartPosition (); 14 в то время как (позы! = NULL) 15 { 16 fileDict.push_back (dlg.GetNextPathName (позы)); 17 } 18 19 удалить [] БУФЫ;
    }

 

 

3. Выберите путь к папке

1  CString m_saveFilePath;
2      TCHAR szPath [_MAX_PATH];
3      BROWSEINFO би;
4      bi.hwndOwner = GetSafeHwnd ();
5      bi.pidlRoot = NULL;
6      bi.lpszTitle = _T ( " 请选择图片路径" );
7      bi.pszDisplayName = szPath;
8      bi.ulFlags = BIF_RETURNONLYFSDIRS;
9      bi.lpfn = NULL;
10      bi.lParam = NULL;
11  
12      LPITEMIDLIST pItemIDList = SHBrowseForFolder (& би);
13 ,      если(pItemIDList)
 14      {
 15 ,          если (SHGetPathFromIDList (pItemIDList, szPath))
 16          {
 17              m_saveFilePath = szPath;
18              m_saveFilePath = m_saveFilePath + _T ( " \\ " );
19          }
 20  
21          // Использование IMalloc интерфейс для предотвращения утечки памяти   
22          IMalloc * pMalloc;
23 ,          если (SHGetMalloc (& pMalloc)! = NOERROR)
 24          {
 25              TRACE (_T ( " Не удается получить IMalloc интерфейс \ п" ));
 26          }
 27  
28          pMalloc-> Свободное (pItemIDList);
 29 ,          если (pMalloc)
 30              pMalloc-> Release ();
 31          UpdateData (FALSE);
 32      }

 

рекомендация

отwww.cnblogs.com/sclu/p/11599499.html