#include<stdio.h>
#include<stdlib.h>
#define size 10
struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stu[size]; //全局变量stu数组,包含10个学生
void save() //存储功能
{ FILE *fp;
int i;
if((fp=fopen("stu.dat","wb"))==NULL) //打开stu.dat文件
{
printf("can't open file!\n");
exit(0);//return;
}
for(i=0;i<size;i++)
if(fwrite(&stu[i],sizeof(struct student_type),1,fp)!=1) //把从stu[i]处的存储区中的数据文件输出
printf("file write error!\n");
fclose(fp);
}
void shuchu() //读入功能
{ FILE *fp;
int i;
if((fp=fopen("stu.dat","rb"))==NULL)
{ printf("can't open file!\n");
exit(0); }
for(i=0;i<size;i++)
{
fread(&stu[i],sizeof(struct student_type),1,fp); //从fp文件中读入一组数据
printf("%-5s %-5d %-5d %-10s\n",stu[i].name,stu[i].num,stu[i].age,stu[i].addr);
}
fclose(fp);
}
int main()
{ int i;
printf("please enter data of student:\n");
for(i=0;i<size;i++) //输入10 个学生的信息
scanf("%s%d%d%s",stu[i].name,&stu[i].num,&stu[i].age,stu[i].addr); //显示在屏幕上
save();
printf("please exit data of student:\n");
shuchu();
return 0;
}