黑马程序员技术交流社区

标题: 为什么没法把结构体写入文件中呢 [打印本页]

作者: Abuzzworld    时间: 2015-10-7 13:45
标题: 为什么没法把结构体写入文件中呢
本帖最后由 Abuzzworld 于 2015-10-7 13:50 编辑
  1. #include <stdio.h>
  2. typedef struct {
  3.     int year;
  4.     int month;
  5.     int day;
  6. }DATE;
  7. struct Student {
  8.     char name[30];
  9.     int height;
  10.     int weitht;
  11.     DATE date;
  12. }stu[4];
  13. int main(int argc, const char * argv[]) {
  14.     @autoreleasepool {

  15.         //接收输入数据到结构体中
  16.         for (int i=0; i<2; i++) {
  17.             scanf("%s%d%d%d%d%d",stu[i].name,&stu[i].height,&stu[i].weitht,&stu[i].date.year,&stu[i].date.month,&stu[i].date.day);
  18.         }
  19.         
  20.         FILE *fp=fopen("/Users/Zxx/Desktop/test/student.data","wb+");
  21.         
  22.         //将结构体写入文件
  23.         if (fp!=NULL) {
  24.             for (int i=0; i<0; i++) {
  25.                 fwrite(&stu[i], sizeof(struct Student), 1, fp);
  26.             }
  27.         }else{
  28.             printf("文件打开失败,按任意键退出\n");
  29.             getchar();
  30.             exit(1);
  31.         }
  32.         rewind(fp);
  33.         //读取文件数据到结构体中
  34.         for (int i=2; i<4; i++) {
  35.             fread(&stu[i], sizeof(struct Student), 1, fp);
  36.             printf("%s %d %d %d %02d %02d\n",stu[i].name,stu[i].height,stu[i].weitht,stu[i].date.year,stu[i].date.month,stu[i].date.day);
  37.         }
  38.         fclose(fp);
  39.     }
  40.     return 0;
  41. }
复制代码
student.data一直是0kb,到底是哪里出错了啊
作者: wwf707542865    时间: 2015-10-7 21:35
不明觉厉啊
作者: 大宝820    时间: 2015-10-7 23:52
25行,int i=0,i<0???




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2