yaya386 2014-12-25 08:56 采纳率: 16.7%
浏览 1849

结构体初始化问题,想要存入结构体中的数据写在了txt文件中,这样写可以实现初始化吗

//定义结构体//
struct achievement
{int number;
char name[20];
char sex;
float achievement1,achievement2,achievement3;
}tab_achievement[N];

//读出文件函数//
void read()

{FILE *fp;
int i,n;
if((fp=fopen("C:\Users\Administrator\Desktop\ab.txt","rb"))==NULL) //如果不能打开文件
{printf("cannot open file\n");
exit(0); //使程序终止
}

for(i=0;i<n;i++)
{fread(&tab_achievement[i],sizeof(struct achievement),1,fp); //从fp指向的文件读入一组数据
}
fclose(fp); //关闭文件
}

  • 写回答

2条回答 默认 最新

  • 91program 博客专家认证 2014-12-25 09:06
    关注

    应该可以,但你的文件中保存的数据也必须是按格式与大小写入的。否则,读到的数据会是错的!
    还有一个方法,直接读取结构体数据,不有一个个结构体来读取:
    fread(&tab_achievement[0],sizeof(struct achievement),n,fp);

    评论

报告相同问题?

悬赏问题

  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退