没错啊,哪错了?编译有错误
- C/C++ code
#include <stdio.h>#define SIZE 4struct student_type{ char name[10]; int num; int age; char addr[15];}stud[SIZE];void save(){ FILE * fp; int i; if((fp = fopen("stu_list","wb")) == NULL) { printf("cannot open file\n"); return; } for(i=0;i<SIZE;i++) if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) printf("file write error\n"); fclose(fp);}int main(void){ int i; for(i=0;i<SIZE;i++) scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr); fclose(fp); return 0;}[解决办法]
int main(void)
{
int i;
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
save();
return 0;
}
[解决办法]
主函数里的 fclose(fp);
改成 save();