文件的输入输出问题。
这段代码是由终端输入,然后存为数据文件。输入10个学生的数据
#include<stdio.h>#define SIZE 10struct Student_type{char name[10]; int num; int age; char addr[15];}stud[SIZE];void save(){FILE *fp; int i; if((fp=fopen("stu.dat","wb"))==NULL) {printf("cannot open file\n"); return; } for(i=0;i<SIZE;i++) if(fwrite(&stud[i],sizeof(struct Student_type),1,fp)!=1) printf("file write error\n"); fclose(fp);}int main(){int i; printf("Please enter data of students:\n"); for(i=0;i<SIZE;i++) scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr); save(); return 0;}
#include<stdio.h>#include<stdlib.h>struct Student_type{ char name[10]; int num; int age; char addr[15];}stud[10];int main(){ int i; FILE *fp; if((fp=fopen("stu.dat","rb"))==NULL) {printf("can not open file\n"); exit(0); } for(i=0;i<10;i+=2) {fseek(fp,i*sizeof(struct Student_type),0); fread(&stud[i],sizeof(struct Student_type),1,fp); printf("%-10s %4d %4d %-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr); } fclose(fp); getch(); return 0;}