如何编程实现MFC创建新文件夹
类似于保存文件的操作,如CFileDialogdialogFile(),点击新建文件夹,即可生成一个新的文件夹,请问如何编程...
类似于保存文件的操作,如CFileDialog dialogFile(),点击新建文件夹,即可生成一个新的文件夹,请问如何编程
展开
2个回答
展开全部
CString strFolderPath="c:\\test"
// 判断路径是否存在
if (!PathIsDirectory(m_strFolderPath) )
{
CString strMsg;
strMsg.Format ("指定路径\"%s\"不存在,是否创建?", m_strFolderPath);
if (AfxMessageBox(strMsg, MB_YESNO) == IDYES)
{
if (!CreateDirectory(m_strFolderPath, NULL))//here
{
strMsg.Format ("创建路径\"%s\"失败!是否继续?", m_strFolderPath);
if (AfxMessageBox(strMsg, MB_YESNO) == IDYES)
return;
}
}
}
其实就是一个函数:CreateDirectory
追问
我是希望实现类似于下载文件时设置保存目录的那种形式,找到想保存的目录,点击新建文件夹即可建立
追答
//选择目录对话框
char szPath[MAX_PATH]; //存放选择的目录路径
CString str;
ZeroMemory(szPath, sizeof(szPath));
BROWSEINFO bi;
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szPath;
bi.lpszTitle = "请选择需要打包的目录:";
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//弹出选择目录对话框
LPITEMIDLIST lp = SHBrowseForFolder(&bi);
if(lp && SHGetPathFromIDList(lp, szPath))
{
str.Format("选择的目录为 %s", szPath);
AfxMessageBox(str);
}
else
AfxMessageBox("无效的目录,请重新选择");
2015-08-10 · 知道合伙人数码行家
关注
展开全部
代码如下:
GetModuleFileName( NULL, strPath.GetBuffer(MAX_PATH), MAX_PATH ); //NULL 返回应用程序的全路径 strPath.ReleaseBuffer(); //清空缓冲区 strPath = strPath.Left(strPath.ReverseFind(_T('\\'))); //获取整个路径
str = strPath + "\\"+ sDate + "-" + sTime; //文件夹名称
CString csSubString;
while(-1 != str.Find("\\"))
{
int nPos = str.Find("\\");
csSubString += str.Left(nPos + 1);
str = str.Right(str.GetLength() - nPos -1);
CreateDirectory(csSubString,NULL);
}
csSubString += str;
CreateDirectory(csSubString,NULL); //创建子目录
GetModuleFileName( NULL, strPath.GetBuffer(MAX_PATH), MAX_PATH ); //NULL 返回应用程序的全路径 strPath.ReleaseBuffer(); //清空缓冲区 strPath = strPath.Left(strPath.ReverseFind(_T('\\'))); //获取整个路径
str = strPath + "\\"+ sDate + "-" + sTime; //文件夹名称
CString csSubString;
while(-1 != str.Find("\\"))
{
int nPos = str.Find("\\");
csSubString += str.Left(nPos + 1);
str = str.Right(str.GetLength() - nPos -1);
CreateDirectory(csSubString,NULL);
}
csSubString += str;
CreateDirectory(csSubString,NULL); //创建子目录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询