open函数返回0

原因是打开文件语句:

if ((fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 777)) < 0) 

写成了:

if (fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 777) < 0) 

使fd结果为一个布尔值,并且文件打开成功,返回值大于等于0,因此布尔值为false,转换成int就变成0了。

posted @ 2020-07-17 23:45  epiphanyy  阅读(54)  评论(0)    收藏  举报  来源