现在的位置: 首页 > 综合 > 正文

目录创建,判断目录是否存在

2014年01月06日 ⁄ 综合 ⁄ 共 841字 ⁄ 字号 评论关闭

代码是网上找的

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);
}

 

抱歉!评论已关闭.