mkdir()是创办文件夹的函数,有没有循环创建多个目录级的函数呢

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


貌似没有现成的函数,需要自行编写

mkdir()是创办文件夹的函数,有没有循环创建多个目录级的函数呢

相关文章:

你感兴趣的文章:

标签云: