1
0

c10-4-3.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <stdio.h>
  2. #define SIZE 10
  3. struct student_type
  4. {char name[10];
  5. int num;
  6. int age;
  7. char addr[15];
  8. }stud[SIZE]; // 定义全局结构体数组stud,包含10个学生数据
  9. void load( )
  10. {FILE *fp;
  11. int i;
  12. if((fp=fopen("stu_list","rb"))==NULL) // 打开输入文件stu_list
  13. {printf("cannot open infile\n");
  14. return;
  15. }
  16. for(i=0;i<SIZE;i++)
  17. if(fread(&stud[i],sizeof(struct student_type),1,fp)!=1) // 从stu_ list文件中读数据
  18. {if(feof(fp))
  19. {fclose(fp);
  20. return;
  21. }
  22. printf("file read error\n");
  23. }
  24. fclose (fp);
  25. }
  26. void save( ) // 定义函数save,向文件输出SIZE个学生的数据
  27. {FILE *fp;
  28. int i;
  29. if((fp=fopen ("stu.dat","wb"))==NULL) // 打开输出文件atu_list
  30. {printf("cannot open file\n");
  31. return;
  32. }
  33. for(i=0;i<SIZE;i++)
  34. if(fwrite (&stud[i],sizeof (struct student_type),1,fp)!=1)
  35. printf ("file write error\n");
  36. fclose(fp);
  37. }
  38. int main()
  39. {
  40. load();
  41. save( );
  42. return 0;
  43. }