69,369
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<stdlib.h>
#define N 2
int main(void )
{
FILE *fp;
int i, j;
struct student {
char name[30];
float score[3];
};
struct student s1[N], s2[N];
for (j = 0; j < N; j++) {
printf("the %dth student name=", j + 1);
scanf("%s", &s1[j].name);
printf("input the three score=");
for (i = 0; i < 3; i++) {
/* 修改 */
scanf("%f", &s1[j].score[i]);
}
}
/* 修改 */
if ((fp = fopen("file.dat", "w+b")) == NULL) {
printf("file open error\n");
exit(0);
}
j = sizeof(struct student);
for (i = 0; i < N; i++) {
if (fwrite(&s1[i], j, 1, fp) != 1) {
printf("file write error\n");
exit(0);
}
}
fflush(fp);
printf("file successful\n");
rewind(fp);
printf("begin to read\n");
for (i = 0; i < N; i++) {
fread(&s2[i], j, 1, fp);
/* 修改 */
printf("%s,%f,%f,%f\n", s2[i].name, s2[i].score[0], s2[i].score[1], s2[i].score[2]);
}
fclose(fp);
}