phfb.net
当前位置:首页 >> C语言读取文件数据到结构体数组 >>

C语言读取文件数据到结构体数组

根据txt文件中数据的格式,可以用fscanf把数据读取到数组中。 下面以一种最基本的情况为例,给出参考代码。 假定结构体格式为 struct test{ int i; float f;};文本文件约定,第一行为存储结构体总数,从第二行起,每行为一个结构体的数据。每个...

while(!feof(fp)) { //从文件中读取数据到结构体 fscanf(fp,"%s%d%s%d%d",stu[i].name,&stu[i].num,&stu[i].sex,stu[i].classes, &stu[i].score[0],&stu[i].score[1]); i++;}information.txt格式: 小红 2014003 女 一班 99 100 // 数据间用空格...

#include int main() { struct test { int a; char s[10] ; double d ; } tr[3] , tw[3] ={ {1,"hello1" , 100 }, {2,"hello2" , 90}, {3,"hello3", 200} } ; //定义一个结构体数组 FILE *fp ; fp=fopen("struct.dat" , "wb" ); if ( fp == NULL...

代码不要截图,复制粘贴出来

FILE *fp;printf("请输入文件名,路径:"); //打开txt文件scanf("%s",filename);if((fp = fopen(filename,"r")) == NULL) {fprintf(stderr,"%s 文件打开失败!\n",filename);exit(0); } for(int i=0; i

关键问题是用 逗号分隔的 字符串 ,不能用 逗号格式 这样分开地读出来。 要用 "%[^,],%[^,],%f" 格式 才行。 另外 读参数用 &temp[n].mark 才行,你漏了 &. -------- 你先用下面程序读2行, 01010101,ABABCEVVZ,96.0 020202,EFGWE,56.0 试验成功...

不是读不到,而是读完最后一行后,即跳出了循环,没有打印,所以,只需要在while(){}后面添加一行,如: .....while(fgetc(fp)!=EOF) { printf("%d %d %s\n",eve[i].p,eve[i].d,eve[i].name); i++; fscanf(fp,"%d%d%s",&eve[i].p,&eve[i].d,&eve[...

总体写得不错,问题出在你的 fscanf和fprintf函数参数传递错误了 #include "stdio.h"#include "stdlib.h"struct s{ int id; char name[10]; int co1; int co2; int co3; int co4;};int main(){ int i=0,count; struct s st[10]; char fname[10],...

1。如果你知道存入文件的第一个结构是什么类型的,此种就非常方便了,自己根据 从文件读出的第一个结构里面的下个结构指针 来读文件中下个结构。 2。如果你不知道存入文件的第一个结构式啥类型,但又想分三个结构来存取,那你只能在每个结构里面...

这是我最开始学习链表的时候写的一个很小的程序,好像不是很完善,但是大致应该没有问题,你可以参照的看看。太晚了,实在是不想写了。 #include #include #include #include #include #define MAX 200struct student{char no[10]; // 学号char ...

网站首页 | 网站地图
All rights reserved Powered by www.phfb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com