c - 使用给出错误的文件权限

标签 c linux unix

我有一个小片段

fd = open("data", O_RDONLY | O_CREAT, 0666) 错误地授予了我权限。

当我执行 ls -l data 时,我得到了这个
-rw------- 1 mayukhsarkar staff 0 Aug 17 11:44 data

有人能告诉我哪里出了问题吗?

注意:在 koding.com 我正在获得这样的权限
-rw-r--r-- 1 mayukh mayukh 0 Aug 17 06:11 数据

已解决:umask(000) 在 open 系统调用起作用之前

最佳答案

您传递的模式不正确。它需要作为第三个参数传递:

open("data", O_RDONLY | O_CREAT, 0666);

请注意,使用 O_RDONLY 创建文件没有多大意义,因为创建后您将无法写入...

关于c - 使用给出错误的文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32044018/

相关文章:

c - 为什么打印的值是25?这不应该是一个内存位置值吗?

c - 使用 fscanf() 与 fgets() 和 sscanf()

带有停止/启动选项的 Linux bash 脚本

linux - 如何将剪切的输出写入文件

ctime(&rawtime) 删除 malloc 的字符数组?

c - 如何同步线程?

c - 从基础知识在 C/Matlab 中生成正弦波的麻烦

c++ - 随机数独生成

linux - 我不明白这个参数扩展 : ${p//[0-9]/}

unix - 在 VMS 中,unix 的等效命令是什么