如何在 C 中创建目录树?
How can I create directory tree in C?
我想要一种在 C 中创建多个目录的简单方法。
例如我想在以下位置创建目录:
/a/b/c
但如果目录不存在,我希望自动创建它们。我该怎么做?
这是一个在当前目录中创建目录树 a/b/c
的小 C 程序:
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <errno.h>
int create_dir(char *name)
{
int rc;
rc = mkdir(name, S_IRWXU);
if (rc != 0 && errno != EEXIST)
{
perror("mkdir");
exit(1);
}
if (rc != 0 && errno == EEXIST)
printf("%s already exists.\n", name);
return 0;
}
int main(int argc, char **argv)
{
create_dir("a");
create_dir("a/b");
create_dir("a/b/c");
exit(0);
}
我想要一种在 C 中创建多个目录的简单方法。
例如我想在以下位置创建目录:
/a/b/c
但如果目录不存在,我希望自动创建它们。我该怎么做?
这是一个在当前目录中创建目录树 a/b/c
的小 C 程序:
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <errno.h>
int create_dir(char *name)
{
int rc;
rc = mkdir(name, S_IRWXU);
if (rc != 0 && errno != EEXIST)
{
perror("mkdir");
exit(1);
}
if (rc != 0 && errno == EEXIST)
printf("%s already exists.\n", name);
return 0;
}
int main(int argc, char **argv)
{
create_dir("a");
create_dir("a/b");
create_dir("a/b/c");
exit(0);
}