1

我使用系统调用打开一个文件open()

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

我的文件 FTP_track.log 创建没有任何问题。问题是虽然我有模式0666,它可以读写,但我无法在 unix 中打开文件。我必须更改文件属性的权限才能读取和写入。

有任何想法吗?谢谢你。

4

1 回答 1

2

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

于 2012-10-31T23:49:27.227 回答