先上源码 #include<stdio.h> #define N 5 struct Student_type { char name[10]; int num; float score[3]; float aver; }stud[N];
void input() { FILE* fp; int i; if ((fp = fopen(“stu.dat”, “wb”)) == NULL) { printf(“can not open file\n”); return ; } for (i = 0; i < N; i++) if (fwrite(&stud[i], sizeof(struct Student_type), 1, fp) != 1) printf(“file write error\n”); fclose(fp); }
int main() { int i; printf(“请输入学生学号,姓名,三门课成绩:\n”); for (i = 0; i < N; i++) scanf("%d%s%f%f%f", &stud[i].num, stud[i].name, &stud->score[0], &stud->score[1], &stud->score[2]); stud[i].aver = stud.score[0] + stud.score[1] + stud.score[2]; input(); return 0;
} 第一幅图是我输入的,第二幅图是我用记事本打开的新创建的文件,输入和输出应该是一样的,为啥记事本打开就乱码了一样。