所以,我只写:
int fdes = open(path, O_WRONLY | O_CREAT | O_TRUNC);
Run Code Online (Sandbox Code Playgroud)
如果path
引用的文件不存在,则此代码有效.但如果确实如此,则代码返回errno
13:Permission Denied.我从来没有使用过O_EXCL
模式.
我很长一段时间都在寻找解决这个问题的方法,我真的很困惑.你能解释一下这个问题吗?
我使用GCC for windows(4.5.2).您的回答将不胜感激.
O_CREAT
,你应该提供一个模式作为第三个参数open()
.请注意(至少在Unix上)您可以创建一个用于以模式0444
(甚至0
)写入的文件; 权限影响其他所有人,但不影响在使用创建文件的文件描述符时创建文件的进程.