level 3
int creat(const char * pathname, mode_t mode);
这个是函数原型,你可以man 一下create。看看他的第二个参数。他会告诉你在man open里面可以查阅到这些标志位的值。
比如想要写入一个文件。但是不知道这个文件存不存在,如果存在的话就覆盖他,如果不存在就创建他。现在我们假定umask是022,我需要的权限是644.那么我可以这么写代码:
create("filename",O_CREATE | O_REWR | O_TRUCN | 666);
就是说,创建一个叫做filename 的文件,假如不存在就创建他,存在就覆盖他,把它设置成可读写的文件,文件的访问权限是666.666-umask 就会得到 644 就是--wrx-rx-r的权限
2012年08月31日 05点08分