代码是网上找的
1.使用C RUNTIME函数
#include <io.h>
#include <direct.h>
BOOL mkdirEx(const char* lpPath)
{
CString pathname = lpPath;
if(pathname.Right(1) != "\\")
pathname += "\\" ;
int end = pathname.ReverseFind('\\');
int pt = pathname.Find('\\');
if (pathname[pt-1] == ':')
pt = pathname.Find('\\', pt+1);
CString path;
while(pt != -1 && pt<=end)
{
path = pathname.Left(pt+1);
if(_access(path, 0) == -1)
_mkdir(path);
pt = pathname.Find('\\', pt+1);
}
return true;
}
2.使用WINDOWSAPI
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 ) )
{
strMsg.Format ("创建路径\"%s\"失败!是否继续?", m_strFolderPath);
if (AfxMessageBox(strMsg, MB_YESNO) == IDYES)
return;
}
}
}
3.判断目录是否存在
if(INVALID_FILE_ATTRIBUTES == GetFileAttributes("log"))
{
::CreateDirectory("log", NULL);
}