下面的程序,编译执行,不知道a.txt文件怎么没有其他人写权限,设置是全部都有的
#include <stdio.h>
#include <fcntl.h>
#include "apue.h"
#define MODE S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH
int main(int argc,char *argv[])
{
int fd;
if((fd=open("a.txt",O_RDWR|O_CREAT,MODE))<0)
err_sys("open a.txt error");
printf("%d\n",fd);
exit(0);
}
[解决办法]
MODE - umask ,创建文件的权限,umask看一下