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;
}

代码解析

  1. 包含头文件:代码首先包含了所需的标准库头文件,包括 stdio.hstdlib.hunistd.hsys/stat.h,这些头文件提供了必要的函数和数据类型。
  2. 定义目录路径:代码定义了一个字符串变量 dir_path,存储了目标目录的路径 /opt/file_video_orig/A
  3. 检查 /opt 目录:代码使用 access 函数检查 /opt 目录是否存在。如果不存在,则打印错误信息并退出程序。
  4. 检查目标目录:代码使用 access 函数检查目标目录 dir_path 是否存在。
  5. 创建目录:如果目标目录不存在,代码使用 mkdir 函数创建该目录。mkdir 函数需要两个参数:目录路径和权限模式。代码使用 0777 作为权限模式,表示所有用户都拥有所有权限。
  6. 打印结果:代码根据创建结果打印相应的提示信息。

注意

为了能够创建 /opt 目录,你需要以 root 权限运行该代码。

其他说明

  • access 函数可以用来检查文件或目录是否存在,并判断用户对该文件或目录的访问权限。
  • mkdir 函数可以用来创建新的目录。
  • 权限模式 0777 允许所有用户对该目录进行读写执行操作。
  • 在 Linux 系统中,文件和目录权限由三个数字表示,分别代表文件所有者、所属组和其他用户的权限。
  • 可以使用 chmod 命令修改文件或目录的权限。

总结

本示例代码展示了如何在 Linux 系统中使用 C/C++ 创建目录,并使用 access 函数判断目录是否存在。代码简单易懂,可以作为创建目录的参考。

Linux C/C++ 创建目录:如果不存在则创建 (使用 access 函数)

原文地址: https://www.cveoy.top/t/topic/qdYx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录