#include<stdio.h>
#include"student.h"
void getlist(Student aStu[],int number);
int save(Student aStu[],int number);
int main(int argc,char const *argv[])
{
int number=0;
printf("请输入学生数量:");
scanf("%d",&number);
Student aStu[number];
getlist(aStu,number);
if(save(aStu,number)){
printf("保存成功\n");
}else{
printf("保存失败\n");
}
return 0;
}
void getlist(Student aStu[],int number)
{
char format[STR_LEN];
sprintf(format, "%%%d s", STR_LEN-1);
int i;
for(i=0;i<number;i++){
printf("第%d个学生:\n",i);
printf("\t姓名:");
scanf(format,aStu[i].name);
printf("\t性别(0-男,1-女,2-其他):");
scanf(format,aStu[i].gender);
printf("\t年龄:");
scanf(format,aStu[i].age);
}
}
int save(Student aStu[],int number)
{
int ret =-1;
FILE*fp=fopen("student.date","w");
if(fp){
ret =fwrite(aStu,sizeof(Student),number,fp);
fclose(fp);
}
return ret==number;
}
```c
#ifndef _STUDENT_H_
#define _STUDENT_H_
#define STR_LEN 20
typedef struct _student{
char name[STR_LEN];
int gender;
int age;
}Student;
#endif
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/700721903746164.jpg "#left")
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/010331903746157.jpg "#left")
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/84273190374613.jpg "#left")