代码之家  ›  专栏  ›  技术社区  ›  user3368561

用标志目录和O_create打开的非直观行为

  •  1
  • user3368561  · 技术社区  · 7 年前

    我正在运行内核版本为4.8.0和glibc版本为2.23的Ubuntu 16.04 open 带标志 O_DIRECTORY O_CREAT 并且目录不存在,将创建一个常规文件而不是目录。有什么变通方法可以修复这种不直观的行为?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Martin Rosenau    7 年前

    当我了解的主页 open O_DIRECTORY O_CREAT 不打算:

    O_目录

    你可以使用 mkdir mkdir公司 。然后用 O_目录

    mkdir(the_file_name, your_desired_mode);
    f = open(the_file_name, O_DIRECTORY);