1. 以二进制方式读写结构体
struct Student { string name; string sex; int age; } void write(string filePath, const struct Student* stu, int n) { FILE *fp; int i; if((fp=fopen(filePath,"wb"))==NULL) { printf("cant open the file"); return; } for(i=0;i<n;i++) { if(fwrite(&stu[i],sizeof(struct Student),1,fp)!=1) printf("file write error\n"); } fclose(fp); } void read(string filePath, const struct Student* stu, int n) { FILE *fp; int i; if((fp=fopen(filePath,"rb"))==NULL) { printf("cant open the file"); return; } for(i=0;i<n;i++) { if(fread(&stu[i],sizeof(struct Student),1,fp)!=1) printf("file read error\n"); } fclose(fp); }