#include struct stu char name10];/学生姓名 Int num,/*学生编号* Int age,体*学生年龄* char addr15;/*学生住址* }stul[2],su2[2],*p,*q;,/*定义结构体数组stul和su2,结构体指针p和q* void maino FILE* fp p=stul;/*指针p指向结构体数组stu1*/ qF=stu2,*指针q指向结构体数组stu2*/ if(fp= =fopen("e: Istu list","w")=NULL)/*以可写可读方式打开文件 stu list printf("无法打开文件 stu list!") exit(D) printf("hn请输入两名学生的信息(姓名、编号、年龄、住址):Ⅷn"), for(i=0;iname, &p->num, &p->age, p->addr); p=stul;/*把结构体数组stul中2个学生信息写入文件 stu list中* fwrite(p, sizeof(struct stu), 2, fp) wind(fp),/*重新定位文件指针到文件头* /*从文件 stu list中读取2个学生信息,存放到结构体数组su2中* printf("nhn姓名t编号年龄地址n" for(i=0;iname, q->num, q-age, q->addr) fclose(fp);/关闭文件 Stu list
#include struct stu { char name[10]; /*学生姓名*/ int num; /*学生编号*/ int age; /*学生年龄*/ char addr[15]; /*学生住址*/ }stu1[2],stu2[2],*p,*q; /*定义结构体数组 stu1 和 stu2,结构体指针 p 和 q*/ void main() { FILE*fp; char ch; int i; p=stu1; /*指针 p 指向结构体数组 stu1*/ q=stu2; /*指针 q 指向结构体数组 stu2*/ if((fp=fopen("e:\\stu_list","w+"))==NULL) /*以可写可读方式打开文件 stu_list*/ { printf("无法打开文件 stu_list!"); exit(1); } printf("\n 请输入两名学生的信息(姓名、编号、年龄、住址):\n"); for(i=0;iname,&p->num,&p->age,p->addr); p=stu1; /*把结构体数组 stu1 中 2 个学生信息写入文件 stu_list 中*/ fwrite(p,sizeof(struct stu),2,fp); rewind(fp); /*重新定位文件指针到文件头*/ /* 从文件 stu_list 中读取 2 个学生信息,存放到结构体数组 stu2 中*/ fread(q,sizeof(struct stu),2,fp); printf("\n\n 姓名\t 编号 年龄 地址\n"); for(i=0;iname,q->num,q->age,q->addr); fclose(fp); /*关闭文件 Stu_list*/ }