c语言文件的权限怎么设置?

c语言文件的权限怎么设置?,第1张

0666:

第一个 0 表示这个数是 八进制

第一个 6 表示文件拥有者有读写权限,但没有执行权限

第二个 6 表示文件拥有者同组用户有读写权限,但没有执行权限

第三个 6 表示其它用户有读写权限,但没有执行权限

6 的 二进制就是 0110

第 1 位在权限中总是为 0

第 2 位为 0 表示文件不可以被读, 为 1 表示可以被读

第 3 位为 0 表示文件不可以被写, 为 1 表示可以被写

第 4 位为 0 表示文件不可以被执行, 为 1 表示可以被执行

删掉jj.c

设置umask, open时指定权限:

#include <unistd.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <stdio.h>

int main(int argc,char* argv[]){

int r = open(argv[1],O_RDWR )

printf("open %s success!r = %d\n",argv[1],r)

char buf[1000000]={0}

int readlen = read(r,buf,sizeof(buf)-1)

umask(0)

int w = open(argv[2],O_RDWR | O_CREAT | O_TRUNC, S_IRWXO|S_IRWXG|S_IRWXU)

printf("create %s success!,r=%d\n",argv[2],r)

int writelen = write(w, buf,readlen)

close(r)

close(w)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11937483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存