如何递归的建立文件夹(ZZ)

 int   create_dir_recursive(const   string&   d)  
  {  
 string   dir;  
  dir.assign(d);  
  if(dir[dir.size()-1]   !=   '//')  
  dir.append(1,'//');  
  string::size_type   b,e;  
  b   =   e   =   0;  
  int   ret=0;
  //ACE_stat   st;  
  while(b   <   dir.size())  
  {  
  e   =   dir.find_first_of('//',b);  
  if(e   ==   string::npos)  
  break;  
  if(e   ==   2)  
  e++;   //   hack   for   root   directory  
  ret   =   _access(dir.substr(0,e).c_str(),0);  
  if(ret   ==   -1)  
  if(!CreateDirectory(dir.substr(0,e).c_str(),NULL))    
  return   -1;  
  b   =   e   +   1;  
  }  
  return   ret;  

  }

 

返回值:

   0: 文件夹存在,创建失败

   -1:创建成功

你可能感兴趣的:(String,null,Access)