| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:急急急!!!!
只看楼主 加入收藏
samlee728
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-16
收藏
 问题点数:0 回复次数:4 
急急急!!!!

如果有个结构体如下:

struct stud{ char name[20]; char num[15]; char age[3]; char addr[15]; struct stud *next; }stu[3];

输入数据后用文件保存,当要从文件里读出数据时,该怎么样把三个对象的数据分开?

2004-11-26 13:56
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
stu[i] ,分开就是控制括号里的i
2004-11-26 16:17
samlee728
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-16
收藏
得分:0 
我的语文不是很好啊!呵呵,我是想说分开stud[i]之后里面的元素怎么分呀?文件读取不是一次读完的吗?我试过用fgets()但是好难分开阿...再次请教,不懂有什么好点的方法可以把里面的name,num,age...分出来~~~~谢谢
2004-11-26 23:11
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

数据块读写函数fread和fwrite   C语言还提供了用于整块数据的读写函数。 可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp); 写数据块函数调用的一般形式为: fwrite(buffer,size,count,fp); 其中buffer是一个指针,在fread函数中,它表示存放输入数据的首地址。在fwrite函数中,它表示存放输出数据的首地址。 size 表示数据块的字节数。count 表示要读写的数据块块数。fp 表示文件指针。 例如: fread(fa,4,5,fp); 其意义是从fp所指的文件中,每次读4个字节(一个实数)送入实数组fa中,连续读5次,即读5个实数到fa中。 [例10.6]从键盘输入两个学生数据,写入一个文件中, 再读出这两个学生的数据显示在屏幕上。 #include<stdio.h> struct stu { char name[10]; int num; int age; char addr[15]; }boya[2],boyb[2],*pp,*qq; main() { FILE *fp; char ch; int i; pp=boya; qq=boyb; if((fp=fopen("stu_list","wb+"))==NULL) { printf("Cannot open file strike any key exit!"); getch(); exit(1); } printf("\ninput data\n"); for(i=0;i<2;i++,pp++) scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr); pp=boya; fwrite(pp,sizeof(struct stu),2,fp); rewind(fp); fread(qq,sizeof(struct stu),2,fp); printf("\n\nname\tnumber age addr\n"); for(i=0;i<2;i++,qq++) printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr); fclose(fp); }   本例程序定义了一个结构stu,说明了两个结构数组boya和 boyb以及两个结构指针变量pp和qq。pp指向boya,qq指向boyb。程序第16行以读写方式打开二进制文件“stu_list”,输入二个学生数据之后,写入该文件中, 然后把文件内部位置指针移到文件首,读出两块学生数据后,在屏幕上显示。


差点把你忘了...
2004-11-27 09:26
samlee728
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-16
收藏
得分:0 
哦 我懂了 我今天看到了 fseek  懂了该怎么随机对文件拉  谢谢版主们
2004-11-27 22:01
快速回复:急急急!!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027746 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved