在用C编写一个通讯录,运行结束把通讯录中的数据存到“通讯录.dat”文件里。第一遍运行没有出问题,存进去的数据也可以读出来。第二遍运行把原有通讯录数据读出进行添加。在结束程序,文件的第二次写入出错。用perror查看:Permission denied
void SaveDete(contact* pc)//保存数据
{
//打开文件
FILE* pf;
errno_t Err;
Err = fopen_s(&pf, "通讯录.dat", "w");
if (Err==0)
{
printf("文件打开成功\n");
}
else
{
perror("SaveDete");
printf("失败\n");
}
//存入数据
int i = 0;
if (pf)
{
for (i = 0; i < pc->sz; i++)
{
fwrite(pc->dete + i, sizeof(conInfo), 1, pf);
}
}
//关闭文件
if (pf)
{
Err = fclose(pf);
}
if (Err == 0)
{
printf("保存成功成功,无事发生\n");
}
else
{
printf("失败\n");
}
pf = NULL;
}
运行结果及报错内容