这是我的代码:
static void SaveStudent(Student* p, int n)
{
FILE* fp;
char filename[20];
int i;
printf("\n请输入保存文件名:\n");
gets_s(filename);
if ((fp = fopen(filename, "wb")) == NULL) { //创建二进制文件
printf("cannot open file\n");
return;
}
for (i = 0; i < n; i++) {
if (fwrite(p++, sizeof(Student), 1, fp) != 1)//向文件中一次写一个结构体量值
printf("file write error\n");
}
fclose(fp);
}
然而当我输入文件名的时候,就会报错(图示在下方)
报错:0x00007FF708B09006 处(位于 Project3.exe 中)引发的异常: 0xC0000005: 读取位置 0x000000C9FDB00000 时发生访问冲突。
求助这是为什么,该怎么做,求求大佬看看了