C 语言中创建目录的新建文件夹函数49


C 语言中的新建文件夹函数,即 `mkdir` 函数,用于在指定路径下创建一个新的目录。该函数的原型为:```c
#include
int mkdir(const char *path, mode_t mode);
```

下面是 `mkdir` 函数的参数说明:* `path`:要创建的目录的路径。
* `mode`:指定新创建目录的权限和属性。通常使用 0777 或 0755 等八进制值。

如果成功创建目录,`mkdir` 函数将返回 0;如果失败,将返回 -1 并设置 `errno` 以指示错误原因。下面是一些常见的错误原因:* EEXIST:目录已存在。
* ENOENT:父目录不存在。
* EACCES:没有权限创建目录。
* ENOTDIR:父目录不是目录。

除了 `mkdir` 函数,还可以使用 `mkdirs` 函数在指定的路径下创建目录树。该函数的原型为:```c
#include
int mkdirs(const char *path, mode_t mode);
```

`mkdirs` 函数与 `mkdir` 函数类似,但它可以递归地创建不存在的父目录,从而创建整个目录树。如果成功创建目录树,`mkdirs` 函数将返回 0;如果失败,将返回 -1 并设置 `errno` 以指示错误原因。需要注意的是,`mkdirs` 函数在 Windows 系统中不可用。

以下是一些使用 `mkdir` 和 `mkdirs` 函数创建目录的示例代码:```c
// 使用 mkdir 函数创建目录
int status = mkdir("my_directory", 0777);
if (status == 0) {
printf("目录创建成功");
} else {
printf("目录创建失败: %s", strerror(errno));
}
// 使用 mkdirs 函数创建目录树
status = mkdirs("my_directory_tree/sub_directory", 0755);
if (status == 0) {
printf("目录树创建成功");
} else {
printf("目录树创建失败: %s", strerror(errno));
}
```

在使用 `mkdir` 和 `mkdirs` 函数创建目录时,需要考虑以下几点:* 权限:确保具有在指定路径下创建目录的权限。
* 路径:路径必须是绝对路径或相对于当前工作目录的相对路径。
* 目录存在:如果要创建的目录已存在,`mkdir` 函数将失败并返回 -1。
* 递归创建:如果要创建的目录的父目录不存在,可以使用 `mkdirs` 函数递归创建目录树。
* 错误处理:始终检查 `mkdir` 和 `mkdirs` 函数的返回值,并根据错误原因采取适当的措施。

2025-02-11


上一篇:C 语言中的换行符号

下一篇:C 语言函数库的简称及用途