mfc判断目录是否存在创建多级目录

来源:互联网 发布:淘宝公益宝贝有什么用 编辑:程序博客网 时间:2024/04/30 02:55
BOOL DirectoryExist(CString Path){ WIN32_FIND_DATA fd; BOOL ret = FALSE;    HANDLE hFind = FindFirstFile(Path, &fd);    if ((hFind != INVALID_HANDLE_VALUE) && (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))    {  //目录存在  ret = TRUE;        }    FindClose(hFind); return ret;}BOOL CreateDirectory(CString path){  SECURITY_ATTRIBUTES attrib; attrib.bInheritHandle = FALSE; attrib.lpSecurityDescriptor = NULL; attrib.nLength = sizeof(SECURITY_ATTRIBUTES);  return ::CreateDirectory( path, &attrib);}BOOL CreateMuliteDirectory(CString P)   {       int len=P.GetLength();       if ( len <2 ) return false;        if('\\'==P[len-1])      {          P=P.Left(len-1);          len=P.GetLength();      }      if ( len <=0 ) return false;      if (len <=3)       {          if (DirectoryExist(P))return true;          else return false;       }      if (DirectoryExist(P))return true;      CString Parent;      Parent=P.Left(P.ReverseFind('\\') );       if(Parent.GetLength()<=0)return false;        BOOL Ret=CreateMuliteDirectory(Parent);        if(Ret)        {           SECURITY_ATTRIBUTES sa;           sa.nLength=sizeof(SECURITY_ATTRIBUTES);           sa.lpSecurityDescriptor=NULL;           sa.bInheritHandle=0;           Ret=(CreateDirectory(P,&sa)==TRUE);           return Ret;       }       else  return FALSE;   
原文地址:http://blog.sina.com.cn/s/blog_8a7012cf01014ts0.html
0 0
原创粉丝点击