open失败,fopen不会
每当我使用 open
时,我都会收到权限被拒绝的错误。但是当我使用 fopen
时,它可以很好地打开文件。我的代码有什么问题吗?
mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
char *filename = "dataread.txt";
rec = open(filename ,O_WRONLY | O_CREAT | O_TRUNC,mode);
if(rec == -1)
{
perror("\nopen error 1:");
exit(1);
}
错误:
打开错误1::权限被拒绝
使用 fopen
我没有收到此错误。
Whenever I use open
I get the permission denied error. But when I use fopen
it opens the file fine. What is wrong with my code?
mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
char *filename = "dataread.txt";
rec = open(filename ,O_WRONLY | O_CREAT | O_TRUNC,mode);
if(rec == -1)
{
perror("\nopen error 1:");
exit(1);
}
Error:
open error 1:: Permission denied
With fopen
I don't get this error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我添加了
int rec=0;
var 声明和必要的包含文件,然后编译了您的代码。作为普通用户,它在我的 Fedora 15 笔记本电脑上运行没有错误。检查您运行此程序的目录/文件权限,问题似乎不在代码中。
I added an
int rec=0;
var declaration and the necessary includes files and then compiled your code.It runs with no errors as a normal user in my Fedora 15 laptop. Check the dir/file permissions you are running this on, the problems does not seem to be in the code.