MFC获取读取文件的目录

MFC获取读取图像的目录

方法一:利用CFileDialog中的m_ofn.lpstrFile属性

对话框:

CFileDialog dlgL(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR,
	_T("所有文件(*.*)|*.*||"));

TCHAR filenameL[10000] = { 0 };
dlgL.m_ofn.lpstrFile = filenameL;
dlgL.m_ofn.nMaxFile = 10000;
if (IDOK != dlg.DoModal())
{
	return;
}

//获取图像组的目录路径
CString path = filenameL;

情形一:读取单个文件。此时path为全路径(包含文件名和后缀),如C:UserssilenDesktopDatadata1.txt

情形二:读取多个文件。此时path为文件的公共目录,如同时读取Data文件夹下多个文本数据,则path为C:UserssilenDesktopData

方法二:利用GetPathName(),GetStartPosition()与GetNextPathName(POSITION pos)

情形一:读取单个文件。利用GetPathName()

CString path = dlgL.GetPathName();

  此时path为全路径(包含文件名和后缀),如C:UserssilenDesktopDatadata1.txt

情形二:读取多个文件。利用GetStartPosition()与GetNextPathName(POSITION pos)以及字符串截取操作获取公共路径

POSITION posL = dlgL.GetStartPosition();
CString path = dlgL.GetNextPathName(posL);
path = path.Left(path.ReverseFind('\'));

  此时path为文件的公共目录,如同时读取Data文件夹下多个文本数据,则path为C:UserssilenDesktopData

原文地址:https://www.cnblogs.com/silentteen/p/7679620.html