系统调用Open()权限



我使用系统调用open()

打开文件
if ((fd2 = open(logFile, O_RDWR |O_APPEND | O_CREAT ), 0666) == -1)
    DieWithError("open() failed");

我的文件是ftp_track.log是没有任何问题的。问题是,尽管我有模式0666,该模式是为所有读取和编写的,但我无法在Unix中打开文件。我必须将文件从文件的属性更改为读写。

有什么想法吗?谢谢。

行的问题是括号不匹配。您的表达方式被解析为fd2 = open(), 0666。在c中,表达式 expr1, expr2具有 expr2的值,因此您的 if语句基本上说 fd2 = 0666

最新更新