因为使用 open 函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。这个取决于 gcc 的版本,有的版本不会报这个错误。
解决办法:
找到源码中报 open 错误的位置,改为:
open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0777);
问题解决,也就是加了 ”0777“ 这个参数。
本文介绍了一个关于使用open函数创建文件时遇到的权限问题及解决方案。当使用O_CREAT标志时,必须指定初始权限,文中通过添加0777参数解决了该问题。
因为使用 open 函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。这个取决于 gcc 的版本,有的版本不会报这个错误。
找到源码中报 open 错误的位置,改为:
open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0777);
问题解决,也就是加了 ”0777“ 这个参数。
转载于:https://www.cnblogs.com/GyForever1004/p/8927016.html
1501
495
6173
671
167

被折叠的 条评论
为什么被折叠?