读书人

mkdir()是创办文件夹的函数有没有循

发布时间: 2012-07-29 15:26:14 作者: rapoo

mkdir()是创建文件夹的函数,有没有循环创建多个目录级的函数呢?
比如: mkdir("aaa/bbb/ccc/ddd"); 有没有这种,一次性都把这些目录给创建成功的函数呢? 总之,mkdir()貌似不可以这样子创建。只能创一级。

[解决办法]
bash 命令倒是有 -p 参数,网上有人实现了,抄过来:

C/C++ code
int CreateDir(const char *sPathName) {     char DirName[256];     strcpy(DirName, sPathName);     int i,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, NULL)!=0 )             {                 if(mkdir(DirName, 0755)==-1)                 {                     perror("mkdir error");                     return -1;                 }             }             DirName[i] = '/';         }     }     return 0; }
[解决办法]
貌似没有现成的函数,需要自行编写

读书人网 >UNIXLINUX

热点推荐