MFC獲取資料夾下的所有檔名
阿新 • • 發佈:2019-02-01
1、獲取路徑:通過CFileDialog獲取資料夾的路徑,以及資料夾下面的一個檔案
- OnBnClickedBtnOpenfile()
- {
- // TODO: Add your control notification handler code here
- CFileDialog dlg(TRUE);///TRUE為OPEN對話方塊,FALSE為SAVE AS對話方塊
- CString csDirParth;
- if(dlg.DoModal()==IDOK)
- m_csFileName = dlg.GetPathName();
-
else
- m_csFileName.Empty();
- int iEndPos = 0;
- iEndPos = m_csFileName.ReverseFind('\\');
- csDirParth = m_csFileName.Left(iEndPos);
- m_FileList.clear();
- GetFileFromDir(csDirParth);
- }
2、下面的程式碼可以獲取路徑csDirPath下的txt檔案,並將所有的txt檔名儲存在vector<CString>型別的變數m_FileList中;
-
GetFileFromDir(CString csDirPath)
- {
- csDirPath+="\\*.txt";
- HANDLE file;
- WIN32_FIND_DATA fileData;
- char line[1024];
- char fn[1000];
- //mbstowcs(fn,csDirPath.GetBuffer(),999);
- file = FindFirstFile(csDirPath.GetBuffer(), &fileData);
- m_FileList.push_back(fileData.cFileName);
-
bool bState =
- bState = FindNextFile(file, &fileData);
- while(bState){
- //wcstombs(line,(const char*)fileData.cFileName,259);
- m_FileList.push_back(fileData.cFileName);
- bState = FindNextFile(file, &fileData);
- }
- }