我想使用 open() 创建一个文件。
这是我的代码的一部分:
int fd = open("testing", O_EXCL | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO);
if(fd == -1){
perror("Error");
return 1; }
输出应该是创建了一个名为“testing”的文件,对用户、组和其他人具有读、写和执行权限。
但我得到的是一个名为“testing”的文件,具有此权限:
-rwxr-xr-x
缺少 Group 和 Others 的写入权限。
我也尝试过使用
S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IWOTH |S_IXOTH)
但我仍然得到相同的结果。
我怎么解决这个问题?