| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 981 人关注过本帖
标题:【请教】文件操作,写入数据的一些问题
取消只看楼主 加入收藏
九月痕
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2011-4-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
【请教】文件操作,写入数据的一些问题
代码如下
程序代码:
void save()
/*将链表中的数据保存到内存中*/
{ FILE *book_fp,*reader_fp;
  book *bk_p;
  reader *rd_p;
  bk_p=h_book; rd_p=h_reader;
  if((book_fp=fopen("book.dat","wb"))==NULL)
    {  printf("不能建立图书文件,初始化失败!请重新启动系统!\n");
       return; }
  while(bk_p!=NULL)
  {  if(fwrite(bk_p,sizeof(book),1,book_fp)!=1)
     {  printf("写数据错误!\n"); exit(0); }
     bk_p=bk_p->next;
  }
  fclose(book_fp);
  if((reader_fp=fopen("reader.dat","wb"))==NULL)
    {  printf("不能建立图书文件,初始化失败!请重新启动系统!\n"); return; }
  while(rd_p!=NULL)
  {  if(fwrite(rd_p,sizeof(reader),1,reader_fp)!=1)
     {  printf("写数据错误!\n"); exit(0); }
     rd_p=rd_p->next;
  }
  fclose(reader_fp);
}

写入的应该是  编号、名称、作者、出版社、出版时间、类别、价格、数量(我随便写了些:12345678 x s ls 2010 jy 14 40  大概这个... )
但数据却成了这些...虽然也有要存的东西,但不知道怎么把磁盘里一些地址什么的也写进去了...

12345678 RS=2 Oc Windows_NT Path=C:\Users\xuus\Desktop\x 书管理系统\;C:\Winds s\system32;C:\Windows;C:\Windows\System32\Wbem;2010 ndows\System32\jy dowsPowe  `A(   (      


还望各位前辈指点!谢谢!
搜索更多相关主题的帖子: color 
2011-11-27 12:32
九月痕
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2011-4-16
收藏
得分:0 
回复 3楼 御风牧雨
程序代码:
void init_book()  /*初始化图书模块*/
{ book *t;
  FILE *fp;
  char ch;
  t=h_book;
  printf("\n    系统即将进行初始化,图书初始化模块:\n");
  while(1)
  {
    printf("       \n请按顺序书的编号、名称、作者、出版社、出版时间、类别、价格、数量(以空格隔开):");
    scanf("%s%s%s%s%s%s%f%d",t->number,t->name,t->author,t->publish,t->time,t->classes,&t->price,&t->kc);
    fflush(stdin);  
    t->xc=t->kc;
    t->next=NULL;
    printf("是否继续输入?(Y/N(orther))");
    scanf("%c",&ch);
    fflush(stdin);  
    switch(ch){
        case 'Y':
        case 'y':t=t->next;continue;
        default: return;
    }
  }
}
你好,这是初始化代码(初始化读者和这个类似)
2011-11-28 20:30
九月痕
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2011-4-16
收藏
得分:0 
程序代码:
typedef struct bk {
  char number[15];
  char name[40];
  char author[20];
  char publish[50];
  char time[20];
  char classes[10];
  float price;
  int  kc;
  int  xc;
  struct bk * next;
    }book;                    /* 图书信息*/
图书的结构体
2011-11-28 20:34
九月痕
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2011-4-16
收藏
得分:0 
回复 6楼 御风牧雨
嗯,以前是在初始化后直接存档的,现在把存储功能统一放到save里面了,文件指针忘记删了。。。关于t->next=NULL....额...糊涂了,基础没打好啊,呜呜。。。
嗯,这个初始化之后,我调用输出函数输出过,是没问题的,也就是说链表没问题。但是一存起来,再读取的话,就有问题了,就像我上面说的,存档文件里的内容是:12345678 RS=2 Oc Windows_NT Path=C:\Users\xuus\Desktop\x 书管理系统\;C:\Winds s\system32;C:\Windows;C:\Windows\System32\Wbem;2010 ndows\System32\jy dowsPowe  `A(   ( ;然后输出的也变成这个了......
额..这个程序还有好多地方没完善好..卡在这其他地方也不太好动..这样吧,我传到网盘然后把链接发给你,注意看下收信息。谢谢啦!
2011-11-29 10:37
九月痕
Rank: 2
等 级:论坛游民
帖 子:9
专家分:20
注 册:2011-4-16
收藏
得分:0 
回复 9楼 御风牧雨
嗯,谢谢你的帮助!我会按你的提示逐步解决。我用的是C-FREE...电脑里装了VS2010不太会用。。。
程序很乱...还没写完,两人一起写的 ,还没整理好...这些天麻烦啦!等把他解决了再来汇报,谢谢!
2011-11-30 20:28
快速回复:【请教】文件操作,写入数据的一些问题
数据加载中...
 
   



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

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