open失败,fopen不会

发布于 2024-12-07 02:48:07 字数 431 浏览 0 评论 0原文

每当我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空袭的梦i 2024-12-14 02:48:07

我添加了 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文