fwrite存文件,再用fread打开的问题
程序代码:
#include<stdio.h> #define SIZE 1 struct student_type { char name[10]; int num; int age; char addr[15]; }stud[SIZE]; void save() { FILE *fp; int i; if((fp=fopen("list","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; for(i=0;i<SIZE;i++) scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr); save(); }先用这个输入数据到“list”文件中 输入:Han 1001 21 room1
程序代码:
#include<stdio.h> #define SIZE 1 struct student_type { char name[20]; int num; int age; char addr[15]; }stud[SIZE]; int main() { int i; FILE *fp; fp=fopen("list","rb"); for(i=0;i<SIZE;i++) { fread(&stud[i],sizeof(struct student_type),1,fp); printf("%s\n%d\n%d\n%s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr); } fclose(fp); }再用这个打开“list”文件,但是结果是。。
Han
1836019570
49
(第4行什么都没有)
问题出在哪。。谢谢各位了
[ 本帖最后由 zenglw 于 2010-3-13 11:03 编辑 ]