标题:各位,你们看看为什么fwrite函数只能输出一组数据,程序能运行
只看楼主
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
回复 10楼 yaobao
你靠蒙的啊?

授人以渔,不授人以鱼。
2013-01-11 23:07
zll310
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-1-11
得分:0 
回复 10楼 yaobao
可不可能是我结构体指针的问题,你看看第一个save函数把,我利用了一个*l指针把传的值*t链接起来,但是查找的时候直接移动l指针
2013-01-11 23:09
zll310
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-1-11
得分:0 
回复 11楼 TonyDeng
大哥帮我看看前面三个函数把!拜托!
2013-01-11 23:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
程序代码:
void save(char book_num[],char book_name[],int num)
{   FILE *book_fp;
   struct bk *t;
  if((book_fp=fopen("C:\\Users\\zll\\Downloads\\book.txt","wb"))==NULL)
{  printf("不能建立图书文件!\n"); return; }
   t=(struct bk *)malloc(sizeof(struct bk));
   strcpy(t->book_num,book_num);
   strcpy(t->book_name, book_name);
   t->book_kc=t->book_xc=num;
   l->next=t;t->next=NULL;
   fwrite(t,sizeof(struct bk),1,book_fp);
}


你解释一下这个函数的工作机制?

授人以渔,不授人以鱼。
2013-01-11 23:15
wangjialong
Rank: 2
等 级:论坛游民
帖 子:77
专家分:95
注 册:2012-11-8
得分:0 
刚试了试,把wb改成a+你在save函数中后面再加fclose(book_fp);和free(t);

新手发言,请多指教。
2013-01-11 23:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
如果是楼主自己写的程序,就给你详细解释,如果不是,就不了。

授人以渔,不授人以鱼。
2013-01-11 23:21
zll310
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-1-11
得分:0 
以下是引用TonyDeng在2013-1-11 23:15:14的发言:

 
void save(char book_num[],char book_name[],int num)
{   FILE *book_fp;
   struct bk *t;
  if((book_fp=fopen("C:\\Users\\zll\\Downloads\\book.txt","wb"))==NULL)
{  printf("不能建立图书文件!\n"); return; }
   t=(struct bk *)malloc(sizeof(struct bk));
   strcpy(t->book_num,book_num);
   strcpy(t->book_name, book_name);
   t->book_kc=t->book_xc=num;
   l->next=t;t->next=NULL;
   fwrite(t,sizeof(struct bk),1,book_fp);
}


你解释一下这个函数的工作机制?
就是用我putin输入的值做参数,把他用结构体t存进去,用l把t链接起来方便以后就l=l->next查找
2013-01-11 23:23
zll310
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-1-11
得分:0 
回复 15楼 wangjialong
你试了?我也试了,没有差别阿,和没改之前
2013-01-11 23:25
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:0 
以下是引用TonyDeng在2013-1-11 23:07:55的发言:

你靠蒙的啊?
不是啊,T版,这几天着实太忙了,手头一堆事啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-01-11 23:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你这个函数每次都重新打开一次文件,写入一条记录的数据,没发现你有循环写入多个记录、也没发现你有定位文件位置的动作,怎么不该是每次覆盖第一条记录?都没说你每次不关闭文件造成的隐患,也没说你这样复制数据再写出是如何的多此一举了。

授人以渔,不授人以鱼。
2013-01-11 23:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-396313-1-1.html




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

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