我使用系统调用 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
。
关于c - 系统调用 open() 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13168964/