mkdir 系统调用偶尔会创建不可读的目录

mkdir system call occasionally creates unreadable directory

我将输出文件夹名称作为 argv[] 的参数,然后执行以下代码:

mkdir(outputname, "0777");

有时它可以正常工作并创建具有正确权限的文件夹,但偶尔会创建文件夹,我将无法访问该文件夹。这是一个简单修复的常见问题吗?

您正在向 mkdir 发送模式的字符串,这是错误的类型。如果你包含正确的 headers 编译器应该警告你这一点。修复很简单,

#include <sys/stat.h>
#include <sys/types.h>
...
mkdir(outputname, 0777);