注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

旷世的忧伤

不与夏虫语寒,不与曲人语道,因为生命缺乏言说的条件......

 
 
 

日志

 
 

递归创建目录  

2014-11-24 23:27:45|  分类: C示例代码 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
示例代码一:

int util_mkdir( char *dir )
{
char *tmp, *parent_dir;

if( !access( dir, F_OK ) )
{
return 0;
}

tmp = strdup( dir );
if( !tmp )
return -1;

parent_dir = dirname( tmp );

if( !access( parent_dir, F_OK ) )
{
if( !access( parent_dir, W_OK | X_OK ) )
{
if( mkdir( dir, 0755 ) )
{
free( tmp );
return -1;
}
}
else
{
free( tmp );
return -1;
}
}
else
{
if( !util_mkdir( parent_dir ) )
{
if( mkdir( dir, 0755 ) )
{
free( tmp );
return -1;
}
}
else
{
free( tmp );
return -1;
}
}

free( tmp );
return 0;
}

示例代码二:

int util_createdir(const char *spathname)
{
char *dirname;
int i, len;

dirname = strdup(spathname);
len = strlen(dirname);

/* 如果最后一级目录没有“/”,则加上 */
if (dirname[len - 1] != '/')
{
strcat(dirname, "/");
len = strlen(dirname);
}

for (i = 1; i < len; i++)
{
if (dirname[i] == '/')
{
dirname[i] = '\0';

if (access(dirname, F_OK))
{
if (mkdir(dirname, 0775) != 0)
{
fprintf(stderr, "Failed to mkdir %s", dirname);
return -1;
}
}

dirname[i] = '/';
}
}
free(dirname);

return 0;
}


  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017