我使用系统调用open()
打开文件。
if ((fd2 = open(logFile, O_RDWR |O_APPEND | O_CREAT ), 0666) == -1)
DieWithError("open() failed");
我的文件FTP_track.log创建没有任何问题。问题是虽然我有模式0666
,它是所有人都可以读写的,但我无法在unix中打开文件。我必须更改文件属性的权限才能读写。
有什么想法吗?谢谢。
答案 0 :(得分:2)
您的行的问题是括号不匹配。您的表达式被解析为fd2 = open(), 0666
。在C语言中,表达式expr1, expr2
的值为expr2
,因此您的if
语句基本上表示fd2 = 0666
。