c10-6.c 664 B

12345678910111213141516171819202122232425
  1. #include <stdlib.h>
  2. #include<stdio.h>
  3. struct student_type // 学生数据类型
  4. { char name[10];
  5. int num;
  6. int age;
  7. char addr[15];
  8. }stud[10];
  9. int main()
  10. { int i;
  11. FILE *fp;
  12. if((fp=fopen("stu.dat","rb"))==NULL) // 以只读方式打开二进制文件
  13. {printf("can not open file\n");
  14. exit(0);
  15. }
  16. for(i=0;i<10;i+=2)
  17. {fseek(fp,i*sizeof(struct student_type),0); // 移动位置指针
  18. fread(&stud[i], sizeof(struct student_type),1,fp); // 读一个数据块到结构体变量
  19. printf("%-10s %4d %4d %-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr); // 在屏幕输出
  20. }
  21. fclose(fp);
  22. return 0;
  23. }