#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
int main(int argc, const char *argv[])
{
char* original_path = "/home/userxxx/somedir/newdir";
if (mkdir(original_path,0777) == -1) {
perror(argv[0]);
exit(EXIT_FAILURE);
}
return 0;
}
请记住,这不是系统调用,因此我不能使用-p创建父目录,我必须使用posix函数,如果它们不存在,还应该创建父目录和中间目录。
答案 0 :(得分:0)
您可以使用递归技术解决此问题:伪代码
createFolder(folder)
{
if folder.exists return // blocks the recursion
createFolder(folder.parent)
folder.makefolder // this will make a folder one level at a time
}
它具有吸引人的功能,即对存在的文件夹的函数调用是无操作。