文件资源管理器

1. 选中一个文件夹

程序源码:

/*关键头文件*/
#include <shlobj.h>		
#include <atlstr.h>string SelectSingleDirectory()
{CString strPath(_T(""));BROWSEINFO  bi;bi.hwndOwner = NULL;bi.pidlRoot = CSIDL_DESKTOP;				//文件夹的根目录,此处为桌面bi.pszDisplayName = NULL;bi.lpszTitle = _T("请选择一个文件夹");		//显示位于对话框左上部的提示信息bi.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;	//有新建文件夹按钮bi.lpfn = NULL;bi.iImage = 0;LPITEMIDLIST pidl = SHBrowseForFolder(&bi);	//调用选择对话框if (pidl == NULL){std::cout << "You havn't chosen any file!" << std::endl;return string(CW2A(strPath.GetBuffer()));}TCHAR strFolder[1024];SHGetPathFromIDList(pidl, strFolder);strPath = strFolder;return string(CW2A(strPath.GetBuffer()));
}

使用说明:

 

结果截图:

2.选中一个文件

程序源码:

/*关键头文件*/
#include <atlstr.h>std::string SelectSingleFile()
{std::string res = "";TCHAR tmp[MAX_PATH] = { 0 };GetCurrentDirectory(MAX_PATH, tmp); //取出当前的工作目录,保存到临时变量tmp中TCHAR szBuffer[MAX_PATH] = { 0 };OPENFILENAME ofn = { 0 };ofn.lStructSize = sizeof(ofn);ofn.hwndOwner = NULL;ofn.lpstrFilter = _T(" *.flt\0*.flt\0  *.osg\0*.osg\0  *.ive\0*.ive\0  All Files(*.*)\0*.*\0");  //要选择的文件后缀 ofn.lpstrInitialDir = _T("F:\\Program\\Creator_flt\\");             //默认的文件路径 ofn.lpstrFile = szBuffer;       //存放文件的缓冲区ofn.nMaxFile = sizeof(szBuffer) / sizeof(*szBuffer);ofn.nFilterIndex = 0;ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_EXPLORER;  //标志如果是多选要加上OFN_ALLOWMULTISELECTif (GetOpenFileName(&ofn) == 1){res = CW2A(ofn.lpstrFile);  //将宽字符集(Unicode)转化为多字符集(ASCII)SetCurrentDirectory(tmp);   //将tmp中的工作目录恢复,不恢复的后果就是程序运行的默认workspace将变成你刚选择的文件所在的目录下!!}else{std::cout << "You havn't chosen any file!" << std::endl;}return res;
}

使用说明:

 

运行截图:

3.选中多个文件

程序源码:

/*关键头文件*/
#include <atlstr.h>vector<string> SelectMultiFiles()
{TCHAR* iter = NULL;OPENFILENAME ofn = { 0 };TCHAR szDirectory[MAX_PATH] = {0};		//存放解析出的目录TCHAR szBuffer[80 * MAX_PATH] = {0};	//在此设置最大支持的文件数vector<string> res;		//存放结果ofn.lStructSize = sizeof(ofn);ofn.hwndOwner = NULL;ofn.lpstrFilter = _T("All Files(*.*)\0*.*\0");				//要选择的文件后缀 ofn.lpstrInitialDir = _T("F:\\Program\\Creator_flt\\");     //默认的文件路径 ofn.lpstrFile = szBuffer;       //存放文件的缓冲区ofn.nMaxFile = sizeof(szBuffer) / sizeof(*szBuffer);ofn.nFilterIndex = 0;ofn.Flags = OFN_EXPLORER | OFN_ALLOWMULTISELECT;if (GetOpenFileName(&ofn) == 1){lstrcpyn(szDirectory, szBuffer, ofn.nFileOffset);lstrcat(szDirectory, _T("\\"));iter = szBuffer + ofn.nFileOffset; //把指针指向第一个文件while(*iter){CString path = szDirectory;path += iter;string tmpPath = CW2A(path.GetBuffer());res.push_back(tmpPath);iter += (lstrlen(iter) + 1);			//移至下一个文件}}else{std::cout << "You havn't chosen any file!" << std::endl;}return res;
}

使用说明:

 

运行截图:

4.查找文件夹下指定格式的文件

程序源码:

/*关键头文件*/
#include <io.h>vector<string> findFilesFrom(string directory)
{directory += '\\';string fileName;vector<string> res;struct _finddata_t fileInfo;string targetFormat = directory + "*.cpp";	//目标格式long findHandle = _findfirst(targetFormat.c_str(), &fileInfo);if (findHandle == -1){cout << "There dont have any target format files existed!" << endl;_findclose(findHandle);return res;}do{fileName = directory + fileInfo.name;if (fileInfo.attrib == _A_ARCH){res.push_back(fileName);}} while (_findnext(findHandle, &fileInfo) == 0);_findclose(findHandle);return res;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353273.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Win11资源管理器(文件夹)出现的工具栏怎么隐藏?

如下&#xff1a;1.先右键白色的工具栏勾选锁定工具栏 2.右键开始->运行->regedit&#xff0c;打开注册表编辑器打开&#xff1a;计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced这个选项 注册表编辑器修改完之后这个白色的工具栏…

Windows10资源管理器使用

文章目录 前言二、关联菜单操作1.分组展示2.添加选择复选框3.使用窗格模式4.功能区折叠二、“文件夹选项”对话框操作1.访问模式调整2.状态栏控制总结前言 目前Windows系统中的使用较多当属Windows10,资源管理器属于Windows系统中一个常用工具。本文总结了Windows 10 专业版下…

文件资源管理器无法打开怎么办?

文件资源管理器是我们访问、修改、编辑存储在硬盘中的文件或文件夹的基础&#xff0c;一但无法打开&#xff0c;则会影响我们的正常使用。那么文件资源管理器无法打开该怎么办呢&#xff1f; 1、通过任务管理器重启资源管理器 Windows资源管理器&#xff08;explorer.exe&…

1、资源管理器

asset目录下有Scene、Script、Texture、animation、prefab、sound文件夹 Scene:存放场景文件&#xff0c;以.fire后缀命名&#xff0c;双击场景&#xff0c;层级管理器和场景编辑器都会发生变化&#xff0c;比如HelloWorld.fire Script:存放运行代码的位置&#xff0c;双击直…

【应用推荐】常见资源管理器整理,内含使用体验和个人使用推荐

【应用推荐】常见资源管理器整理&#xff0c;含个人使用体验和产品选型推荐 写在前面常见资源管理器介绍My Files-X FreeFiles APPQT tabbarCloverQ-dirTotal CommanderXYPlorerDirectory Opus 结语 写在前面 Windows 的资源管理器一直饱受诟病&#xff0c;尤其是近期更新到wi…

干货分享:Windows资源管理器无限重启?解决方法竟然是…

Windows资源管理器无限重启&#xff1f;Windows资源管理器无限重启教程 我们的电脑一个不留神&#xff0c;就很容易跑偏。程序有bug或是软件设计上有缺陷&#xff0c;会导致程序无限循环。在系统里有表现为Windows资源管理器无限重启的故障&#xff0c;这会快速耗尽电脑资源&am…

css:CSS 线性渐变linear-gradient

CSS 渐变使您可以显示两种或多种指定颜色之间的平滑过渡。 CSS 定义了两种渐变类型&#xff1a; 线性渐变&#xff08;向下/向上/向左/向右/对角线&#xff09;径向渐变&#xff08;由其中心定义&#xff09; 参考文档 CSS 线性渐变 https://www.w3school.com.cn/css/css3_…

程序员失业转行送外卖,晒出当天收入,还以为看错了!

在程序员的共识中&#xff0c;30岁之前自己是很受企业欢迎的&#xff0c;有经验有技术&#xff0c;能够为公司创造足够多的价值。 但是一旦超过了35岁&#xff0c;如果没有做到架构师或者成为管理人员&#xff0c;那很可能是连工作都找不到的。而且这个年龄的程序员还要面临着…

永不磨灭的设计模式(23种设计模式全集)

永不磨灭的设计模式 概述七大基本原则23种设计模式1、单例模式2、工厂(方法)模式3、抽象工厂模式4、原型模式5、建造者模式6、适配器模式7、桥接模式8、组合模式9、装饰器模式10、外观模式11、享元模式12、代理模式13、责任链模式14、命令模式15、迭代器模式16、中介者模式17、…

谁说菜鸟不会数据分析python pdf_谁说菜鸟不会数据分析Pdf完整版

展开全部 |下载地址du&#xff1a; ed2k://|zhifile|%5B%E8%B0%81%E8%AF%B4%E8%8F%9C%E9%B8%9F%E4%B8%8D%E4%BC%9A%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%28.%E5%85%A5%E9%97%A8%E7%AF%87%29%5D.%E5%BC%A0%E6%96%87%E9%9C%96.%E5%85%A8%E5%BD%A9%E7%8988.pdf|43230020|90ca9d…

《谁说菜鸟不会数据分析》学习笔记 第三章数据准备 第四章数据处理

这本书是基于Excel讲解的&#xff0c;顺便复习了下Excel的用法&#xff0c;笔记只记录我觉得有用的内容。 第一章 数据分析那些事儿 第二章 确定分析思路 第三章 数据准备 第四章 数据处理 第五章 数据分析 第六章 数据展现 第七章 图表优化 第八章 数据分析报告 第三章 数据…

谁说菜鸟不会数据分析-入门篇

第一章 数据分析那些事儿 1.1 数据分析是“神马” 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将他们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能&#xff0c;发挥数据的作用。数据分析是 为了提取有用信息和形成结论而对数据…

超级菜鸟怎么学习数据分析?

作者&#xff1a;陈老师&#xff0c;在咨询行业打拼了9年&#xff0c;在如何诊断经营问题、建立分析体系、解决专项问题上有超过30个大型项目积累与实战&#xff0c;天善智能特邀专家。 个人公众号&#xff1a;接地气学堂 博客&#xff1a;https://ask.hellobi.com/blog/chenwe…

Spyder 入门基础学习《谁说菜鸟不会数据分析》-方小敏著 读书笔记

写在前面&#xff1a;本文作者购买了《谁说菜鸟不会数据分析》-方小敏著 这本书&#xff0c;感觉写的非常好&#xff0c;遂作为日常读书笔记进行了记录。推荐使用python进行数据分析的初学者购买此书学习。 &#xff08;文章中部分内容来自推荐图书《谁说菜鸟不会数据分析》方…

谁说菜鸟不会数据分析python pdf_《谁说菜鸟不会数据分析》系列

2.png 3.png 4.png 5.png 6.png 7.png 1.png 什么是数据分析 用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将它们加以汇总和理解并消化&#xff0c;以求最大化地开发数据的功能 数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概况总结的过程 …

Python实现《谁说菜鸟不会数据分析(入门篇)》的案例

这段时间在学习Excel和Python相关内容&#xff0c;Excel数据分析入门有一本《谁说菜鸟不会数据分析&#xff08;入门篇&#xff09;》&#xff0c;内容细致&#xff0c;简洁易懂&#xff0c;注重培养分析的思维而不仅仅是告知方法。在学习Python过程中萌发了通过使用Python的方…

《谁说菜鸟不会数据分析》之数据分析

什么是数据分析&#xff1f; 顾名思义&#xff0c;数据分析就是对数据进行分析。 可是&#xff0c;数据分析的真正定义是什么呢&#xff1f; 数据分析是指利用适当的统计分析方法对收集来的大量数据进行分析&#xff0c;将他们加以汇总消化并理解&#xff0c;以最大化地开发…

Python 中的 SOLID 原则

&#x1f482; 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 SOLID 是一组面向对象…

谁说菜鸟不会数据分析(工具篇)

《谁说菜鸟不会数据分析&#xff08;工具篇&#xff09;》 基本信息 作者&#xff1a; 张文霖 狄松 林凤琼 出版社&#xff1a;电子工业出版社 ISBN&#xff1a;9787121204098 上架时间&#xff1a;2013-6-14 出版日期&#xff1a;2013 年6月 开本&#xff1a;16开 页码&#x…

谁说菜鸟不会数据分析,不用Python,不用代码,学会这些技能,让你秒变分析大神

作为一个菜鸟&#xff0c;你可能觉得数据分析就是做表格的&#xff0c;或者觉得搞个报表很简单。实际上&#xff0c;当前有规模的公司任何一个岗位如果没有数据分析的思维和能力&#xff0c;都会被淘汰&#xff0c;数据驱动分析是解决日常问题的重点方式。 很多时候&#xff0…