mkdir()是创建文件夹的函数,有没有循环创建多个目录级的函数呢?
比如: mkdir("aaa/bbb/ccc/ddd"); 有没有这种,一次性都把这些目录给创建成功的函数呢? 总之,mkdir()貌似不可以这样子创建。只能创一级。
[解决办法]
bash 命令倒是有 -p 参数,网上有人实现了,抄过来:
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; }
[解决办法]
貌似没有现成的函数,需要自行编写