因为使用 open 函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。这个取决于 gcc 的版本,有的版本不会报这个错误。
解决办法:
找到源码中报 open 错误的位置,改为:
open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0777);
问题解决,也就是加了 ”0777“ 这个参数。
因为使用 open 函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。这个取决于 gcc 的版本,有的版本不会报这个错误。
找到源码中报 open 错误的位置,改为:
open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0777);
问题解决,也就是加了 ”0777“ 这个参数。