Linux C/C++ 创建目录:如果不存在则创建 (使用 access 函数)
Linux C/C++ 创建目录:如果不存在则创建 (使用 access 函数)
本文提供了一个使用 C/C++ 代码示例,演示如何创建目录,如果目标目录不存在则创建。代码使用 access 函数判断目录是否存在,并使用 mkdir 函数创建目录。
代码示例
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>
int main() {
const char* dir_path = "/opt/file_video_orig/A";
// 检查 /opt 目录是否存在
if (access("/opt", F_OK) == -1) {
printf("/opt 目录不存在\n");
exit(EXIT_FAILURE);
}
// 检查目录是否存在
if (access(dir_path, F_OK) == -1) {
// 创建目录
if (mkdir(dir_path, 0777) == -1) {
printf("无法创建目录:%s\n", dir_path);
exit(EXIT_FAILURE);
}
printf("成功创建目录:%s\n", dir_path);
} else {
printf("目录已存在:%s\n", dir_path);
}
return 0;
}
代码解析
- 包含头文件:代码首先包含了所需的标准库头文件,包括
stdio.h、stdlib.h、unistd.h和sys/stat.h,这些头文件提供了必要的函数和数据类型。 - 定义目录路径:代码定义了一个字符串变量
dir_path,存储了目标目录的路径/opt/file_video_orig/A。 - 检查 /opt 目录:代码使用
access函数检查/opt目录是否存在。如果不存在,则打印错误信息并退出程序。 - 检查目标目录:代码使用
access函数检查目标目录dir_path是否存在。 - 创建目录:如果目标目录不存在,代码使用
mkdir函数创建该目录。mkdir函数需要两个参数:目录路径和权限模式。代码使用0777作为权限模式,表示所有用户都拥有所有权限。 - 打印结果:代码根据创建结果打印相应的提示信息。
注意
为了能够创建 /opt 目录,你需要以 root 权限运行该代码。
其他说明
access函数可以用来检查文件或目录是否存在,并判断用户对该文件或目录的访问权限。mkdir函数可以用来创建新的目录。- 权限模式
0777允许所有用户对该目录进行读写执行操作。 - 在 Linux 系统中,文件和目录权限由三个数字表示,分别代表文件所有者、所属组和其他用户的权限。
- 可以使用
chmod命令修改文件或目录的权限。
总结
本示例代码展示了如何在 Linux 系统中使用 C/C++ 创建目录,并使用 access 函数判断目录是否存在。代码简单易懂,可以作为创建目录的参考。
原文地址: https://www.cveoy.top/t/topic/qdYx 著作权归作者所有。请勿转载和采集!