1

我想要一种在 C 中创建多个目录的简单方法。

例如,我想在以下位置创建目录:

/a/b/c

但如果目录不存在,我希望它们自动创建。我怎样才能做到这一点 ?

4

1 回答 1

1

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);
}
于 2020-06-04T08:40:19.353 回答