我有一个问题,通过使用我的程序在ANSI C编写。当试图打开一个文件(称为fp文件指针),称为0.dat,在读取模式,我可以访问它没有问题。 然后我findfp。 当试图打开fp再次在模式w或a +使用fopen它给我“权限被拒绝”使用perror。 我不明白为什么,我试图打开一个+首先,但它仍然给我这个权限错误。
我在Windows 10上运行Visual Studio 2015.试图做一个Visual Studio重置,但它仍然无法正常工作。 这是一个最小的例子:
#include <stdio.h> int main(void) { FILE *fp = NULL; if ((fp = fopen("1.txt", "w")) == NULL) { perror("error"); exit(1); } fprintf(fp, "You smell"); return 0; }
输出:错误:权限被拒绝。
使用代码检查写入到要用写入选项打开的文件的权限。 if ((fp = fopen("1.txt", "w")) == NULL)
则“1.txt”文件必须具有写权限。
在模式中使用fopen或a +它给我“权限被拒绝”。 我不明白为什么,我试图打开一个+首先,但它仍然给我这个权限错误。
您在下运行程序的用户似乎没有对该文件的写访问权限。
要以写入和/或追加模式成功打开文件,运行该程序的用户需要具有对其的写入访问权限。
为了解决你所面临的问题,