我在尝试编写一个简单的C程序,用来创建目录(类似mkdir的功能)。以下是我的代码:
#include <stdlib.h>
#include <sys/stat.h> // mkdir
#include <stdio.h> // perror
mode_t getumask()
{
mode_t mask = umask(0);
umask (mask);
return mask;
}
int main(int argc, const char *argv[])
{
mode_t mask = getumask();
printf("%i",mask);
if (mkdir("trial",mask) == -1) {
perror(argv[0]);
exit(EXIT_FAILURE);
}
return 0;
}
这段代码创建了一个权限为d---------
的目录,但是我希望它能像 mkdir
命令一样创建权限为 drwxr-xr-x
的目录。请问我在这里做错了什么?
umask()
和mkdir()
函数。 - Jonathan Leffler