创建并打开文件linux编程

时间:2016-04-29 15:03:43

标签: c linux

考虑这行代码:

file_desc = open(file, O_RDWR | O_CREAT | O_EXCL, 0444);

你怎么打开文件'对于所有者/组/其他(0444)的只读权限,而你说用O_RDWR访问模式打开它? 感谢名单

1 个答案:

答案 0 :(得分:3)

来自open手册页:

  

请注意,此模式仅适用于将来访问新创建的文件;创建只读文件的open()调用可能会返回一个读/写文件描述符。

因此创建文件的进程可以写入它,但是其他一些进程不能写入(除非它首先更改权限)。这可以确保创建过程可以填充填充,而不必担心其他一些过程无意中覆盖它。如果没有此功能,则必须使用写入权限创建进程,将其填入,然后删除写入权限,这将允许一个窗口,在此期间某些其他进程可能会覆盖它。