MFC获取文件夹下的所有文件名[原]

51 篇文章 0 订阅
3 篇文章 0 订阅

转载来自:http://houjixin.blog.163.com/blog/static/3562841020130215573600/

1、获取路径:通过CFileDialog获取文件夹的路径,以及文件夹下面的一个文件


[cpp]  view plain copy
  1. OnBnClickedBtnOpenfile()  
  2. {  
  3.     // TODO: Add your control notification handler code here      
  4.     CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框  
  5.     CString csDirParth;  
  6.     if(dlg.DoModal()==IDOK)  
  7.         m_csFileName = dlg.GetPathName();  
  8.     else  
  9.         m_csFileName.Empty();  
  10.   
  11.     int iEndPos = 0;  
  12.     iEndPos = m_csFileName.ReverseFind('\\');  
  13.     csDirParth = m_csFileName.Left(iEndPos);  
  14.   
  15.     m_FileList.clear();  
  16.     GetFileFromDir(csDirParth);  
  17. }  


2、下面的代码可以获取路径csDirPath下的txt文件,并将所有的txt文件名保存在vector<CString>类型的变量m_FileList中;

[cpp]  view plain copy
  1. GetFileFromDir(CString csDirPath)  
  2. {  
  3.     csDirPath+="\\*.txt";  
  4.     HANDLE file;  
  5.     WIN32_FIND_DATA fileData;  
  6.     char line[1024];  
  7.     char fn[1000];  
  8.     //mbstowcs(fn,csDirPath.GetBuffer(),999);  
  9.     file = FindFirstFile(csDirPath.GetBuffer(), &fileData);  
  10.     m_FileList.push_back(fileData.cFileName);  
  11.     bool bState = false;  
  12.     bState = FindNextFile(file, &fileData);  
  13.     while(bState){  
  14.         //wcstombs(line,(const char*)fileData.cFileName,259);  
  15.         m_FileList.push_back(fileData.cFileName);  
  16.         bState = FindNextFile(file, &fileData);  
  17.     }  
  18. }  


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值