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

目录

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

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

3.MFC的CString 字符串操作

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

 5.上述提及的函数应用

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


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

//读取文件夹下的所有文件路径
void getFiles(CString path, vector& 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 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());
}

你可能感兴趣的:(MFC,C++,mfc,c++)