查找文件夹内所有文件

简介: 查找文件夹内所有文件
void CTestDlg::OnButton1()   
{
CFileDialog   mFileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
"所有文件(*.*)|*.*",   NULL/*AfxGetMainWnd()*/);
if(mFileDlg.DoModal()==IDOK)
{
CString   strPathName=mFileDlg.GetPathName();
CString strDir =   strPathName.Left(strPathName.ReverseFind('\\'));
std::vector<CString>   vecFile;
OnTraverseFolder( strDir,vecFile );
} // 这段是找路径的
}     
void CTestDlg::OnTraverseFolder(const CString&   strDir,std::vector<CString>& vecFile) //这段是读取文件夹内所有文件的     
{
WIN32_FIND_DATA FindFileData;
CString strDirTmp;
strDirTmp =   strDir;
strDirTmp += "\\*.*";
HANDLE   hFind=::FindFirstFile(strDirTmp,&FindFileData);
if(INVALID_HANDLE_VALUE   ==   hFind)
{
return;
}
while(TRUE)
{
if(FindFileData.dwFileAttributes   & FILE_ATTRIBUTE_DIRECTORY)
{
if(FindFileData.cFileName[0]!=   _T('.'))
{
strDirTmp = strDir;
strDirTmp += "\\";
strDirTmp +=   FindFileData.cFileName;
OnTraverseFolder(strDirTmp,vecFile)   ;
}
}
else
{
strDirTmp = strDir;
strDirTmp +=   "\\";
strDirTmp +=   FindFileData.cFileName;
vecFile.push_back(strDirTmp);
}
if(!FindNextFile(hFind,&FindFileData))   break;
}
FindClose(hFind);
}
相关文章
|
Cloud Native Devops 持续交付
云原生架构的演进与实践
本文深入探讨了云原生架构的核心概念、技术组件及其在现代软件开发中的应用。通过分析容器化、微服务、持续集成/持续部署(CI/CD)等关键技术,揭示了这些技术如何共同促进应用程序的灵活性、可扩展性和高可用性。文章还讨论了云原生架构实施过程中面临的挑战和最佳实践,旨在为开发者和企业提供一套实用的指导方针,以便更有效地利用云计算资源,加速数字化转型的步伐。
360 5
|
人工智能 数据可视化 数据挖掘
AI时代浪潮来袭,项目经理如何应对?
AI时代,项目经理如何顺势而为、保持核心竞争力?从角色升级到技能转型,文章揭示AI对项目管理的深刻影响,并提供项目经理应对未来的关键策略。
466 4
|
运维 图形学 Python
从零开始的PICO教程(2)--实时预览应用场景
这篇文章是关于如何使用PICO Unity Live Preview Plugin在PICO设备上进行实时预览应用场景的教程,包括准备工作、操作步骤和故障排查方法。
|
TensorFlow 算法框架/工具 C++
构建NLP 开发问题之如何将模型导出为 ONNX、TensorRT 或 Tensorflow 格式以便部署
构建NLP 开发问题之如何将模型导出为 ONNX、TensorRT 或 Tensorflow 格式以便部署
|
自然语言处理 程序员 Windows
[UE虚幻引擎] DTSpeechVoice 文字转语音播放 插件说明
这个插件用于在虚幻引擎(UE)中通过蓝图将文本转化为语音播放,利用Windows内置的语音引擎,支持Win10和Win11。确保电脑已安装语音系统,可能需要额外下载语言包以支持多语言播放。蓝图操作包括添加Speech Voice Component到Actor,使用Speak节点播放文本,Set Volume调整音量,Set Rate改变播放速度,Pause和Resume控制播放状态,Stop则停止播放且无法恢复。此外,Get Tokens和Set Token用于管理语音类型。更多详情可访问[80后程序员](https://dt.cq.cn/archives/1008?from=aliyun)
592 5
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
【拦截器】Angular10轻松实现请求头传参数,针对性不同情况下,拦截器HttpInterceptor的创建和使用
|
移动开发 前端开发
ruoyi-nbcio-plus基于vue3的flowable流程元素选择区面板的升级修改
ruoyi-nbcio-plus基于vue3的flowable流程元素选择区面板的升级修改
332 0
|
并行计算 安全 Go
Go语言的并发特性
【10月更文挑战第26天】Go语言的并发特性
161 1
|
人工智能 弹性计算 测试技术
【Hello AI】AIACC-ACSpeed体验示例
AIACC-ACSpeed(简称ACSpeed)作为阿里云自研的AI训练加速器,在提高训练效率的同时能够降低使用成本,可以实现无感的分布式通信性能优化。ACSpeed软件包中已为您提供了适配DDP的示例代码,您可以参考本文快速体验使用ACSpeed进行模型分布式训练的过程以及性能提升效果。
|
存储 缓存 前端开发
【面试题】你需要知道的webpack高频面试题
【面试题】你需要知道的webpack高频面试题
312 0

热门文章

最新文章