无法以追加或写入模式打开文件

我有一个问题,通过使用我的程序在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 +它给我“权限被拒绝”。 我不明白为什么,我试图打开一个+首先,但它仍然给我这个权限错误。

您在下运行程序的用户似乎没有对该文件的写访问权限。

要以写入和/或追加模式成功打开文件,运行该程序的用户需要具有对其的写入访问权限。

为了解决你所面临的问题,

  • 要么调整访问权限
  • 或者在已被授予对该文件的写入访问权限的用户下运行该程序。