用C语言创建只读文件夹

时间:2010-08-18 08:32:13

标签: c linux

我使用C语言和Linux OS作为我的编程平台。我想知道如何以编程方式创建只读文件夹?用于Linux或类Unix系统的C语言中是否有mkdir命令?

感谢。

5 个答案:

答案 0 :(得分:5)

执行此操作的方法是使用mkdir(2)创建文件夹,使用您希望它拥有的文件填充它,使用stat(2)获取当前权限,屏蔽写入位,然后使用chmod(2)设置权限。

答案 1 :(得分:3)

您可以使用mkdir系统调用:

int mkdir (const char *filename, mode_t mode);

要创建新创建的文件夹RO(无写入且无执行权限),您可以使用here所述的mode参数

答案 2 :(得分:1)

你可以使用这个:

#include <sys/stat.h>
#include <sys/types.h>

int mkdir(const char *pathname, mode_t mode);

答案 3 :(得分:1)

您可以使用mkdir()功能

梗概:

#include <sys/stat.h>

int mkdir(const char *path, mode_t mode);

例如,要创建一个只能由当前用户访问的名为“hello”的文件夹:

mkdir("hello", 0700); /*the second argument is the permission mask*/

有关终端上的更多信息类型

man 2 mkdir

如果你觉得有创意,你可以用更天真的方式做到这一点

system("mkdir hello");
system("chmod 700 hello");

但是没有理由这样做......

答案 4 :(得分:0)

umask应该有效

#include <stat.h>