umask()函数

来源:互联网 发布:视频加速器软件 编辑:程序博客网 时间:2024/05/21 09:12

mode_t umask(mode_t mask)//为进程设置文件模式创建屏蔽字,并返回以前的值


umask常与open函数一起使用
int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);


在创建一个文件时要指明该文件的权限,open()函数的最后一个参数mode并不是要设置的权限,它需要执行操作 : mode & (~mask)
例如:
mask为0,即 000 000 000
open函数设置mode为666
mode & (~mask) = 110 110 110 & 111 111 111 = 110 110 110
所以文件的权限就是rw-rw-rw-

mask为066,即000 110 110
open函数的mode为666
mode & (~mask) = 110 110 110 & 111 001 001 = 110 000 000
所以文件的权限为rw-------

0 0
原创粉丝点击