MFC的文件操作——获取指定文件夹下面所有文件路径和删除指定文件夹下面所有文件

这篇具有很好参考价值的文章主要介绍了MFC的文件操作——获取指定文件夹下面所有文件路径和删除指定文件夹下面所有文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.获取指定文件夹下面所有文件路径

 2.删除指定文件夹下面所有文件

3.MFC的CString 字符串操作

4.MFC的 Int类型 与 Htuple类型数据之间转换

 5.上述提及的函数应用

6.MFC与Halcon联合编程,获取halcon异常

7.MFC获取指定路径下的文件夹路径

          ①、文件夹路径获取方式

②、打开文件——文件路径获取方式


1.获取指定文件夹下面所有文件路径

//读取文件夹下的所有文件路径
void getFiles(CString path, vector<CString>& files)
{
	CFileFind find;
	BOOL IsFind = find.FindFile(path + _T("/*.*"));
	while (IsFind)
	{
		IsFind = find.FindNextFile();
		if (find.IsDots())
		{
			continue;
		}
		else
		{
			CString filename = _T("");
			CString fullname = _T("");
			filename = find.GetFileName();
			fullname = path + filename;
			files.push_back(fullname);
		}
	}
}

 2.删除指定文件夹下面所有文件

//删除指定文件夹下面所有文件
void CDirectory::DeleteDirectory(const CString &strPath)

{

	CFileFind tempFind;

	TCHAR sTempFileFind[MAX_PATH] = { 0 };

	wsprintf(sTempFileFind, _T("%s\\*.*"), strPath);

	BOOL IsFinded = tempFind.FindFile(sTempFileFind);

	while (IsFinded) 

	{ 

		IsFinded = tempFind.FindNextFile(); 



		if (!tempFind.IsDots()) 

		{ 

			TCHAR sFoundFileName[200] = { 0 }; 

			_tcscpy(sFoundFileName, tempFind.GetFileName().GetBuffer(200)); 



			if (tempFind.IsDirectory()) 

			{ 

				TCHAR sTempDir[200] = { 0 }; 

				wsprintf(sTempDir, _T("%s\\%s"),strPath, sFoundFileName); 

				DeleteDirectory(sTempDir); 

			} 

			else 

			{ 

				TCHAR sTempFileName[200] = { 0 }; 

				wsprintf(sTempFileName, _T("%s\\%s"), strPath, sFoundFileName); 

				DeleteFile(sTempFileName); 

			} 

		} 

	} 


	tempFind.Close(); 

//若不想删除当前文件夹,则注释掉下面一句
	if(!RemoveDirectory(strPath))

		return false;


	return true;

}

3.MFC的CString 字符串操作

CString strModelpath, strMax, strMin;
strModelpath.Format(("./printcheck_model/model-%d.shm"), hv_i[0].I());
strMax.Format(("./printcheck_model/ModelMax-%d.bmp"), hv_i[0].I());
strMin.Format(("./printcheck_model/ModelMin-%d.bmp"), hv_i[0].I());

4.MFC的 Int类型 与 Htuple类型数据之间转换

int k = (hv_Int[hv_Index]).I();
CString sr = Files[(hv_Int[hv_Index]).I()];
ReadImage(&ho_Image, HTuple(Files[(hv_Int[hv_Index]).I()]));

 5.上述提及的函数应用

vector<CString> Files;
getFiles("D:/Desktop/文字缺损检测/产品0(√)/文字部分好品/", Files);
DeleteDirectory("./printcheck_model");

6.MFC与Halcon联合编程,获取halcon异常

try
{
	ReadShapeModel(strModelpath.GetBuffer(), &hv_ModelID);

}
	catch (const HException& H)
{
	HString str = H.ErrorText();
	string a = string(str.ToLocal8bit());
}

7.MFC获取指定路径下的文件夹路径

 文件夹路径文件路径是不一样的,前者可以仅选中某个文件夹,从而获得该文件夹的路径,但后者必须要打开某个指定的文件,如.jpg图像,这样才能获得文件路径。所以使用哪个程序,视你的需求而定。文章来源地址https://www.toymoban.com/news/detail-600280.html

①、文件夹路径获取方式

CString m_strFileOut = _T("");  //初始化适应Unicode
 TCHAR szSelected[MAX_PATH];//用来存放文件夹路径  
 BROWSEINFO bi;  
 LPITEMIDLIST pidl;  
 bi.hwndOwner = this->m_hWnd;  
 bi.pidlRoot = NULL;  
 bi.pszDisplayName = szSelected;  
 bi.lpszTitle = _T("选择输出文件路径");  
 bi.ulFlags = BIF_RETURNONLYFSDIRS;  
 bi.lpfn = NULL;  
 bi.lParam = NULL;  
 bi.iImage = NULL;  
 if((pidl = SHBrowseForFolder(&bi)) != NULL)  
 {  
  if(SUCCEEDED(SHGetPathFromIDList(pidl, szSelected))) //得到文件夹的全路径,不要的话,只得本文件夹名  
  {  
   m_strFileOut = szSelected;  	//获得文件夹的全路径
  }  
 }  

②、打开文件——文件路径获取方式

                CString filePath;
				CFileDialog dlg(TRUE, _T("*.bmp"), "", OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, "image files (*.bmp; *.jpg) |*.bmp;*.jpg|All Files (*.*)|*.*||", NULL);
				char title[] = { "Open model-Image" };
				dlg.m_ofn.lpstrTitle = title;
				if (dlg.DoModal() == IDOK)
				{
					filePath = dlg.GetPathName();//获取当前的路径
					m_sModel_b.modelimg_path = filePath;
					//读入图像
					//手动选择1张图像创建形状模板
					ReadImage(&ho_Image, HTuple(m_sModel_b.modelimg_path));
					DispObj(ho_Image, m_lWindowHandle);
					AfxMessageBox("模板参考图像读取完成!");
				}

到了这里,关于MFC的文件操作——获取指定文件夹下面所有文件路径和删除指定文件夹下面所有文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux 删除指定文件夹外的其他所有(文件)文件夹

    方法一. 删除指定文件夹外的其他所有文件夹命令: 方法二. 删除指定文件夹外的其他所有文件夹命令: 查看当前文件夹下有哪些文件和子文件夹,当看到俩个文件夹和多个文件,需求是只保留 public 这个文件夹 其他的文件夹和文件 统统都删除,如下图所示,只要一个命令:

    2024年02月09日
    浏览(84)
  • python遍历文件夹下的所有子文件夹,并将指定的文件复制到指定目录

    在1文件夹中有1,2两个文件夹 将这两个文件夹中的文件复制到 after_copy中 源文件 复制后: 参考1 源文件 复制后 参考2 如果复制bmp文件就将 suffix = \\\".json\\\" 改为 suffix = \\\".bmp\\\"

    2024年02月11日
    浏览(91)
  • [python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹

    最近在写论文的实验部分,由于latex需要pdf格式的文档,审稿专家需要对pdf图片进行裁剪放大,以保证图片质量。 原图: 裁剪后的图像: 代码粘贴如下。将input_folder和output_folder替换即可。(x1, y1), (x2, y2) 分别代表裁剪框的像素位置。

    2024年01月19日
    浏览(64)
  • 指定linux文件夹下所有文件赋权命令“chmod -R 755”

    仓库:Ai-trainee/GPT-Prompts-Hub 下面我们假设要为:/opt/robot/lib/robot_control/下所有子文件赋权 如果要为 robot_control 目录中的所有文件分配权限(在 Linux 术语中也称为“更改文件权限”或“chmod”),则可以使用 chmod 命令在 Linux 终端中。 下面通过逐步类比来理解 Linux 中文件权限的

    2024年04月27日
    浏览(59)
  • python获取文件夹下所有文件

    python获取文件夹下所有文件,大家肯定都会想到os.listdir了,但是这种方法只能够获取到当前文件夹中的所有文件/文件夹,如果我想获得文件夹-文件夹-文件呢? 我的需求是只要文件夹中所有非文件夹,换句话来说对于我们的需求只有文件夹和非文件夹两种情况,那么直接联

    2024年02月12日
    浏览(51)
  • java获取文件夹下所有的文件

    对于一个 嵌套 的目录,获取目录下所有的文件,可以使用以下两种方式: 1. 通过递归获取 File类提供了如下两个方法: file.list():返回目录下文件和子目录名;(不会递归) file.listFiles():返回目录下文件和子目录File对象;(不会递归) 例子中List只是存放了文件夹下所有的

    2024年02月07日
    浏览(65)
  • Unity Editor 遍历指定文件夹下的所有prefab

    适用场景:                  查找指定文件夹下所有的prefab并找到所有引用的图片及路径。 步骤分析:                 1、通过guid获取资源路径                 2、获取文件夹中包含后缀为.prefab的路径                 3、编辑器下加载该资源(如果对资源有编辑的话

    2024年02月04日
    浏览(67)
  • java获取文件夹下所有文件名

      在进行 Java编程的过程中,我们会经常使用到文件夹下的所有文件名。有时候可能不太熟悉 Java编程的小伙伴们会发现,在代码中没有获取到所有的文件名,那么这个时候我们应该怎么去获取到这些文件呢?在进行 Java编程的过程中,我们会经常使用到 Java里面的 JDBC数据库连

    2024年02月10日
    浏览(70)
  • java获取某个文件夹下的所有文件

    目录 一.前言 二.获取文件夹下的文件路径 在我们平时编写开发文档的时候, 我们会获取到项目文件中的所有子文件来展示我们的源代码所储存的位置, 获取我们项目下的所有文件路径,  这时我们会如何用Java代码来获取我们项目下的所有文件呢, 今天我们来比编写一下代码 在

    2024年02月12日
    浏览(86)
  • java 在文件夹以及子文件夹中遍历获取指定文件的list

    1.  使用java 递归方法获取指定文件的list,相当于在一个文件夹以及子文件夹,搜索文件的功能。 直接上代码: 

    2024年02月13日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包