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 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?