每当我使用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);
}
错误:
open error 1:: Permission denied
使用 fopen
我不会收到此错误。
最佳答案
我添加了 int rec=0;
var 声明和必要的包含文件,然后编译了您的代码。
作为普通用户,它在我的 Fedora 15 笔记本电脑上运行没有错误。检查您运行此程序的目录/文件权限,问题似乎不在代码中。
关于c - open失败,fopen不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7598626/